Flutter開発を始めるときに最初にやっておくこと
Flutterのプロジェクトを立ち上げる機会があり、プロジェクト開始時にやっておいた方が良いと感じたものを列挙しました
目次
- Widgetの学習
- 静的解析
- CI/CDの自動化
- 状態管理方法の選定
Widgetの学習
Flutter開発をするにあたって、画面は提供されているWidgetを使って作っていきます。
iOS開発におけるUIKit(UILabelやTableView)のようなものです。
ある程度知らないと画面を組み立てられないですし、公式ドキュメントやYouTubeにまとまっているので一度目を通しておいた方が良いと思います。
YouTubeは英語ですが、字幕をつけれますし動画があってわかりやすいのでオススメです。
静的解析
改行されていないことや、無駄なスペースがあるなどの本質的でないコードレビューをしなくて済むように最初に静的解析を入れておくと良いです。
Flutterではプロジェクト直下に analysis_options.yml
を作成し、 flutter analyze
コマンドを実行すると静的解析できま、細かい指摘だけでなくdart
Flutter
のより良い書き方も指摘してくれます。
また自動フォーマットもやりたい場合は flutter format -n ./lib
を実行すると自動フォーマットできます。
開発途中から静的解析を入れて直して行くのは、いろんな箇所に影響が出てしまい導入するのが大変なので、経験上プロジェクトを始めるタイミングで入れておいた方のが良いと思います。
CI/CDの自動化
静的解析で触れましたが、途中で入れづらいのがCI/CDの自動化です。
プロジェクト開始時にワークフローを定義しておいた方がいいです。
Flutter 開発では以下のようなワークフローがあると便利です。
- 静的解析の実行 (
flutter analyze
,flutter format -n ./lib --set-exit-if-changed
) - 単体テスト、Widgetテスト実行 (
flutter test
) - デプロイ
iOS開発の場合は、dSYMのアップロードも自動化しておきましょう。
状態管理方法の選定
まだ新しい手法が出てきているタイミングで、完全にこのパターンが良いというのは現状ありません。そのため、アプリの特性に合わせて選定する必要があります。 管理方法のパターンが公式ドキュメントにまとまっているのでこちらを参考に考えると良いと思います。