ざっくり構成について、調べてみる。
- 画面が
Widget
のあつまりで作られている。ツリー構造で出来上がってます(以下)
- libファイルの中に
.dart
ファイルを置きます - ファイル増えてくると、分割してあげるといいらしい。
StatefulWidgetとStatelessWidgetの違いについて
StatefulWidget
- ウィジェットの生存期間中に変更される値を維持することができる。(動的な画面が作れるってことだと思う)
- 実装するためには、
Stateクラスのインスタンスを作成するStatefulWidgetクラス
とStateクラス
が必要。たぶんこんな感じだと思う....
.dart
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_Myappstate createState() => _Myappstate();
class _Myappstate extends State<MyApp> {
@override
Widget build(BuildContext context){
return MaterialApp( ..... //ここでウィジェットを作って返す(省略)
}
StatelessWidget
- 扱う値がすべて不変的、プロパティを変更することができない。
- 全て値が
final
な扱いになる。(固定値?) - 簡単な言葉でいうと、静的なウィジェット(?)
- 一番大きい枠組みの部分で変更いらないなら、
StatelessWidget
で作ってみてもいいのかなって思った!
.dart
class MyApp extends StatelessWidget {
final String text;
SampleStatelessClass({@required this.text});
@override
Widget build(BuildContext context) {
return Container(
child: Center(
child: Text(text),
),
);
}
}
なんかむずかしいなって感じたとこ
-
state<MyApp>
を継承して実装しないといけないとこ!(この辺まだ理解できてない) -
widget
種類多い - 調べると、英語の物が多い
- 部品をかき集めて、1つの画面作るのが案外難しい。
最後に
今まで、独学でWebを勉強してきましたが、スマホアプリの開発はなんか、ネストが深くなっていきそうな予感がしました。。
よりわかりやすいコードを書く練習をしないと!と思わされますね
以上!これからも精進致します!!