decochのブログ

フリーランスのiOSエンジニア decoch のブログです

Flutter開発を始めるときに最初にやっておくこと

Flutterのプロジェクトを立ち上げる機会があり、プロジェクト開始時にやっておいた方が良いと感じたものを列挙しました

目次

  • Widgetの学習
  • 静的解析
  • CI/CDの自動化
  • 状態管理方法の選定

Widgetの学習

Flutter開発をするにあたって、画面は提供されているWidgetを使って作っていきます。
iOS開発におけるUIKit(UILabelやTableView)のようなものです。
ある程度知らないと画面を組み立てられないですし、公式ドキュメントやYouTubeにまとまっているので一度目を通しておいた方が良いと思います。

flutter.dev

www.youtube.com

YouTubeは英語ですが、字幕をつけれますし動画があってわかりやすいのでオススメです。

静的解析

改行されていないことや、無駄なスペースがあるなどの本質的でないコードレビューをしなくて済むように最初に静的解析を入れておくと良いです。

Flutterではプロジェクト直下に analysis_options.yml を作成し、 flutter analyze コマンドを実行すると静的解析できま、細かい指摘だけでなくdart Flutter のより良い書き方も指摘してくれます。

また自動フォーマットもやりたい場合は flutter format -n ./lib を実行すると自動フォーマットできます。

dart.dev

開発途中から静的解析を入れて直して行くのは、いろんな箇所に影響が出てしまい導入するのが大変なので、経験上プロジェクトを始めるタイミングで入れておいた方のが良いと思います。

CI/CDの自動化

静的解析で触れましたが、途中で入れづらいのがCI/CDの自動化です。
プロジェクト開始時にワークフローを定義しておいた方がいいです。

Flutter 開発では以下のようなワークフローがあると便利です。

  • 静的解析の実行 (flutter analyze, flutter format -n ./lib --set-exit-if-changed)
  • 単体テストWidgetテスト実行 (flutter test)
  • デプロイ

iOS開発の場合は、dSYMのアップロードも自動化しておきましょう。

状態管理方法の選定

まだ新しい手法が出てきているタイミングで、完全にこのパターンが良いというのは現状ありません。そのため、アプリの特性に合わせて選定する必要があります。 管理方法のパターンが公式ドキュメントにまとまっているのでこちらを参考に考えると良いと思います。

flutter.dev