Flutterで画面遷移、REST API連携を実装する
すべての基本は公式のドキュメントを参照。(基本英語)
ネット上にも参考文献があるが、更新が早いぶん情報が古いものがある。英語だがここを見るのが結局一番いい。
- インストール
- サンプルアプリ作成
は問題なし。
画面遷移は数ヶ月前にv2がリリースされた。
資料によるとBreaking Changeらしい。また、若干難易度が高くなっている模様。開発者コミュニティから批判もあるらしい。
ただv1にはページヒストリー管理で大きな欠点があり、今後新たに作っていく場合には基本的にv2に追従すべきのようた。
公式サイトで紹介されていたv1とv2についての比較記事
日本語記事もあった
参考文献
Dartテクニック
DartにPrivate装飾師はなく、Javaの暗黙の了解だった変数名の先頭にアンダーバーをつけることで明示する。
関数定義時の引数をオブジェクトにすることで、代入時に引数の名前指定をできるようにできる。
コンストラクタをコロンでつなげることで、指定先のコンストラクタと同様の処理を行うリダイレクトができる。
Packageの追加
Flutterではコードで利用するライブラリ(Package)はpubspec.yamlに直接追記する。CLIなどは使わない。追記するとIDE上でライブラリのインストールダイアログが表示される。このあたりの感覚はネイティブアプリ開発と似ている。
今回使うhttp
など一部AndroidManifest側で許可を得るための一文の追記が必要な場合がある。
非同期通信のやりかた
使えそうな参考文献
dartのhttpライブラリの公式リファレンス
Header付きリクエスト
JSONパース
文字化け対策
レイアウト
body要素(レイアウト)の中でifやforを利用可能
よく使うウィジェット(パーツ)一覧
marginやpaddingといったスタイルもウィジェットで取り扱う。
コードでレイアウトを作る感じがJSXに似た感覚。