Zenn
Closed42

flutterの勉強

kojirokojiro

get

abstract class DashboardApi {
  CategoryApi get categories;
  EntryApi get entries;
}

こんな感じでgetが出てきた。

どうやらこれはgetterを意味している見たい。
公式ドキュメントはこちら

kojirokojiro

アロー演算子

double get right => left + width;

という実装に遭遇した。

kojirokojiro

Dartのmixinは多重継承みたいなことをしたい時に便利らしい。
Dartの言語しようとして多重継承は許されておらず、Flutterを使う時とかに便利になるシチュエーションがあるみたい。

kojirokojiro

dartのコンセプトを胸に刻めとのこと
https://dart.dev/language#important-concepts

null safetyの時にnullを許容する変数を作成したい時は最後にクエスチョンマーク?をつけること#document

逆にnullのアサートをしたいときは最後に!マークをつけるらしい。#document

型アノテーションでどんなタイプでも受け入れたい時はObject?をつけるとnullを含めてどんな型でも受け入れることができる。

kojirokojiro

メソッド名や変数名が_で始まった場合はprivateなものとみなされるらしい

kojirokojiro

アプリ起動

vscodeの右下で使用するデバイスを設定して

main.dartを開き、F5で実行する。

コマンドラインから

以下のコマンドでchromeで起動することができる。
flutter run --device-id chrome

kojirokojiro

Widgetのchildがよくわからない。
childで指定する時とchildrenで指定する時にどんな違いがあるのかがわからない。

kojirokojiro

縦方向に並べたい時はColumn,横方向に並べたい時はRow
わかりやすい

kojirokojiro

UIの勉強をする必要がありそう。
ボタンにはどんな種類のものがあるのかとか。

kojirokojiro

finalとconstの違い

finalは実行時に値が代入され、それ以降変更ができない。
constはコンパイル時に値が代入され、それ以降変更ができない。

kojirokojiro

状態を更新したい時はsetState関数を呼ぶようにする。
デモアプリの場合は以下のような実装になっている。

void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

実装するWIdget側でStateを継承する必要がある。

class _MyHomePageState extends State<MyHomePage>
kojirokojiro

contextの中にはページ移動の遷移情報とかが含まれてくるイメージか?

kojirokojiro

firebaseが便利らしい。
FireStoreを使うと複数のデバイスの状態を管理できるっぽい。

kojirokojiro

アプリ内の状態管理はChangeNotifierクラスなど様々な機能が提供されている。

kojirokojiro

CenterっていうクラスもWidgetの一つとして考えるのか。レイアウトの要素もWidgetの一つって感じだな。

kojirokojiro

StatefullWidgetStateの実装が分離されているのは2つのオブジェクトのライフサイクルが別れているから。
widgetは一時的なオブジェクトで、Stateは永続的なオブジェクト。

kojirokojiro

State関連についてキャアッチアップが甘いかもしれない。

kojirokojiro

flutterのパッケージ管理周りはどうなってるんだ?

kojirokojiro

なんの勉強をすればいいのかわからなくなってきた。
まずは感覚が掴めるまで色々触ってみてある程度わかるようになるまで続けてみるか。

kojirokojiro

Stateクラスは自身のメンバー変数が更新されたタイミングで再ビルド(buildメソッドを呼ぶ)を実行する仕様になっている。

setStateメソッド経由で変数を更新しないと再描画はされない点に注意。

kojirokojiro

更新対象のWidgetツリー以下の部分が再ビルドの対象になる。
適切にWidgetを切り分けておかないと更新の負荷が大きくなってしまうので注意が必要。

kojirokojiro

webview_flutterのライブラリを使ってweb-view機能を実装しようとしたらエラーが出て解消することができなかった。

kojirokojiro

flutterのsamplesを読めるくらいにはなってきたっぽいからsamplesのコードを動かしながら、写経して勉強していこう。

このスクラップは2024/08/12にクローズされました
作成者以外のコメントは許可されていません