LoginSignup
1
1

More than 3 years have passed since last update.

まったくわからんやつがFlutterについて少しまとめてみた!

Last updated at Posted at 2020-11-20

ざっくり構成について、調べてみる。

  • 画面がWidgetのあつまりで作られている。ツリー構造で出来上がってます(以下)

image.png

  • libファイルの中に .dartファイルを置きます
  • ファイル増えてくると、分割してあげるといいらしい。

わかりやすくまとめてあるページ(参考にしてみてください)

StatefulWidgetとStatelessWidgetの違いについて

StatefulWidget

  • ウィジェットの生存期間中に変更される値を維持することができる。(動的な画面が作れるってことだと思う)
  • 実装するためには、 Stateクラスのインスタンスを作成するStatefulWidgetクラスStateクラスが必要。たぶんこんな感じだと思う....

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で作ってみてもいいのかなって思った!

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を勉強してきましたが、スマホアプリの開発はなんか、ネストが深くなっていきそうな予感がしました。。
よりわかりやすいコードを書く練習をしないと!と思わされますね:sweat_smile:
以上!これからも精進致します!!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1