Flutter開発をはじめる人におすすめの入門書5選
プログラミングなどIT関連の情報は、インターネット上にたくさんあります。しかし、このような技術書は、まとまった本の方が好まれます。
実際エンジニアにヒアリングしても、最新の技術はWebでも情報収集するが、プログラミング言語など既にベースが確立されたものに関しては、きちんとまとまった本が望ましいと言う人が多い傾向です。
また、そのような本は、電子よりも紙で読む方が読みやすいという声もあります。
そこで、今回はiOS/Androidモバイルアプリエンジニア向けにFlutter(Dart言語)を学習するのにおすすめの本を5つ紹介したいと思います。
実際、すべて購入した書籍ですし、それ以外書籍も目を通した上で選んでいます。
大型本は1年に大体2冊くらいのペースで出ているので、買って読んで、あまり実りのない本についてはすぐに売るということをしていました。
Flutter学習初心者におすすめの入門書5選
今やFlutterはモバイルアプリだけでなく、Web開発にも活用されています。
しかし今回は、モバイルアプリ開発におけるFlutter(Dart)学習を前提にしたいと思います。
1Flutter実践開発 ── iPhone/Android両対応アプリ開発のテクニック
まず現時点で最新の書籍ですので、Flutterのバージョンも他の書籍に比べ最新ですので、特に環境構築などでは一番参考になるでしょう。
入門ではなく実践開発という名前のとおり、Flutter中級者も十分に読みごたえのある内容です。
ただし、初心者には難しいというわけではなく、Dartの基本的な言語仕様についてもしっかり説明されており、本の構成としても読みやすく、かゆいところへも手が届くようになっています。
環境構築や状態管理などの説明もしっかり抑えられており、初心者にとっても、そのまま開発プロジェクトに入って実践できるくらい十分な情報が得られる良本といえるでしょう。
プロジェクトの現場でも活かせる情報がきちんと抑えられている点がポイントです。
特にプログラミング以外の環境設定面において、以下の辺りにも触れられているのがよいです。
- fvmによるFlutterのバージョン管理
- dart-define-from-file ── 環境変数を扱う
また、状態管理として標準的になってきたRiverpodについても触れられているのが良い点です。
そして実践ハンズオンとして以下のアプリを実際に作成してみるという項があるのは、初心者にとっては特にありがたい点だと思います。
- 画像編集アプリを開発
- ひらがな変換アプリを開発
第1章 環境構築とアプリの実行 ── Flutter SDK、Android Studio、Xcode
第2章 Dartの言語仕様
第3章 フレームワークの中心となるWidgetの実装体験 ── StatelessWidget、StatefulWidget
第4章 アプリの日本語化対応、アセット管理、環境変数
第5章 テーマとルーティング
第6章 実践ハンズオン(1) ── 画像編集アプリを開発
第7章 状態管理とRiverpod
第8章 実践ハンズオン(2) ── ひらがな変換アプリを開発
第9章 フレームワークによるパフォーマンスの最適化 ── BuildContext、Key
第10章 高速で保守性の高いアプリを開発するためのコツ
第11章 Flutterアプリ開発に必要なネイティブの知識
2Flutter モバイルアプリ開発バイブル
本書は、全体感を踏まえた基礎的な部分から実践的な概念や実装に至るまで、うまくまとめられた本です。
ただし、中級者にとっては物足りない内容にはなってしまいます。
Dartの言語仕様についてももう少し手厚いとありがたい印象ではあります。
初心者がFlutter開発の全体像を抑えるためにはよい本といえるでしょう。
Xamarin、Unity、React Nativeを例に、従来のクロスプラットフォームを挙げ、きちんと背景がかかれている点がポイントです。
また、ライブラリの実装やサンプルアプリの実装部分を詳しく説明されており、初心者が全体像を理解するにはよい本といえるでしょう。
Chapter1 Flutterとは
Chapter2 開発環境の構築
Chapter3 ウィジェット
Chapter4 状態管理
Chapter5 ライブラリの実装
Chapter6 サンプルアプリの実装
Chapter7 開発の継続
APPENDIX
3基礎から学ぶ Flutter
本書は、タイトルの通り基礎が十分に抑えられており、入門書として最適な良本と言えるでしょう。
全体的にFlutterの特長がよく説明されており、Dart言語についても詳しく解説されています。
Flutter中級者でも、普段あまり意識して使っていないけど、こういう理屈だったのかと気付きを与えてくれる読みごたえのある内容です。
Dart言語やウィジェットの細かいところまできちんと解説されているため、基礎から深く学ぶには最適な本でしょう。
通常細かいところはWebで調べてねと言われそうなパラメータの部分まで解説があったりして、辞書的にも使えます。初心者を突き放すことなくお作法を学ぶために最初に手に取る本として最適でしょう。
CHAPTER 01 スタートガイド
CHAPTER 02 Dart
CHAPTER 03 ウィジェット
CHAPTER 04 Material ComponentsとiOS-Style
CHAPTER 05 ライブラリ
CHAPTER 06 Flutterの内部構造
CHAPTER 07 アーキテクチャ
CHAPTER 08 テスト
CHAPTER 09 パフォーマンスチューニング
APPENDIX アセット
4マルチプラットフォーム対応 最新フレームワーク Flutter 3入門
全体的にウィジェットを用いたプログラミングにおいて詳しく書かれた、ボリュームのある書籍です。
詳しく書くところは書かれているが、細かいところはそれほど深堀りされておらずず、強弱のついた本という印象です。
内容としては、Flutter中級者でも十分に学びのある本ですが、プログラミング経験のない初心者が読む入門書としては、少しDart言語における解説が足りない印象ではあるため、2冊目、3冊目として読むと良いかもしれません。
2022年11月に販売開始された書籍で、それ以前の書籍ではまだ対応できていなかったFlutterバージョン3に対応しているところがポイントです。
また、ウィジェットやグラフィック・アニメーションまで細かい解説があるところや、モバイルアプリ向けのBaaS(Backend as a Service)であるFirebaseとの連携について解説がある点が特徴的です。
Chapter 1 Flutterとマルチプラットフォーム開発
Chapter 2 プログラムの基本を理解する
Chapter 3 UIウィジェットをマスターする
Chapter 4 複雑な構造のUIウィジェット
Chapter 5 グラフィックとアニメーション
Chapter 6 データアクセス
Chapter 7 Firebaseの利用
Chapter 8 Flutter Casual Game Toolkit
Addendum Dart超入門
5Flutter×Firebaseで始めるモバイルアプリ開発・最新改訂版
本書は、今まで紹介した3冊とは少し毛色の異なる書籍です。
全面カラーのペーパーバックで、FlutterとFirebaseを用いて「貸し借りをメモするアプリ」を作ってみるというテーマで、サンプルコードとその解説にポイントを絞った、他の書籍より薄めの本です。
Dart言語仕様や、Flutterについて深く学ぶようなまとまった書籍ではありません。
基礎を抑えた上で実践用として使うとか、もしくは手っ取り早く手を動かしてアプリを作ってみて、あとから基礎的なところを復習するというようなスタンスであればよい書籍といえるでしょう。
実際、私がはじめて購入したFlutterの本はこれでした。
Flutterを学ぼうとしたのが2019年前半で、その時点でFlutterを基礎からまとめた書籍はまだありませんでした。
そこで先んじて書籍化されていたのが本書で、大変重宝しました。
初版では誤字もあり、X(当時Twitter)で著者へ直接DMで確認したところ、丁寧に訂正の返信をいただきました。その後改訂版が出ているので誤字のあった箇所は訂正されていることと思います。
FlutterとFirebaseの「貸し借りをメモするアプリ」サンプルコードにフォーカスを絞っている点がポイントです。
手順書に近いイメージで書かれているため、まずは手を動かしてアプリを作ってみるという初心者におすすめです。
第1章 FlutterとFirebaseを知ろう
第2章 開発環境を構築しよう
第3章 Flutterをサクッと動かしてみよう
第4章 Flutterの基礎知識を学ぼう
第5章 アプリの仕様を決めよう
第6章 Firebaseの設定をしよう
第7章 一覧画面の実装をしよう
第8章 入力画面の実装をしよう
第9章 登録機能の実装をしよう
第10章 編集機能の実装をしよう
第11章 削除機能の実装をしよう
第12章 ログイン機能の実装をしよう
第13章 共有機能を実装しよう
第14章 多言語化対応しよう
第15章 アプリのアイコンを設定しよう
第16章 スプラッシュ画面を実装しよう
第17章 アプリをリリースしよう(Android版)
第18章 アプリをリリースしよう(iOS版)
まとめ
書きっぷりからも伝わるかもしれませんが、Flutter入門書としてイチオシなのは、「Flutter実践開発 ── iPhone/Android両対応アプリ開発のテクニック」です。
これはFlutter関連書籍の中で新しいことはもちろんですが、状態管理として標準的になってきたRiverpodについても触れられているのが強いかと思います。
これまで、なかなかここを十分に解説してくれる本は少なかったため、ポイントとしても高い本です。
Flutter関連の書籍は、上記で紹介した以外にもたくさんあります。
しかし他の言語と比較すると、全体としてはまだ少ない状態です。
ペーパーバックの形式ではいくつかヒットするのですが、やはりサンプルコードを用いた手順書のようなものであり、薄っぺらく、細かい解説がされていないものが目立ちます。内容も被っていることが多いです。
また、あとはWebで調べてねというスタンスが多いため、基礎的なところから簡潔にまとめられている本はものすごく重宝します。
それが今回紹介した本になります。
もちろんハンズオンとしてまずは触ってみましょうという手の本も良い点はあるので、使い方次第かと思います。
余計な情報を入れずにPCの前で集中的にサンプルコードを書くのにはよいでしょう。
一方で、持ち歩いて、電車などの隙間時間に読むという場合には、上記のようなプログラムだらけの書籍は向いていないので、その際にはやはり今回紹介したような大型のまとまった本で学習するのがよいでしょう。