現場で使える Flutter 開発入門
ゲンバデツカエル フラッターカイハツニュウモン
- 著者:
- 澤 良弘、上村 隆弘、村岡 直人、多田 幸一(サワ ヨシヒロ ウエムラ タカヒロ ムラオカ ナオト タダ コウイチ)
- 出版社:
- マイナビ出版
- 出版日:
- 2021年08月24日頃
- ISBN:
- 9784839973759
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
Flutter とは、Google 社が開発しているモバイルアプリケーションフレームワークです。クロスプラットフォームに対応しているため、1 つのソースで iOS と Android、Web に対応したアプリケーションを開発することができます。
本書は、これからモバイルアプリ開発を始める方のために、Flutter による開発体験を手を動かしながら学ぶことができる書籍です。リファクタリングや CI/CD など、チーム開発には欠かせない知識も詰め込み、すぐに現場で使える 1 冊となるようにしました。
本書を通じて Flutter 開発手法を学び、快適なモバイルアプリケーション開発を体験してください。
■本書の特徴
1.これからの Flutter 開発に必要となる知識を盛り込みました
レイアウト、アニメーション、状態管理、データベース、ネイティブ連携、課金、ローカライズ、リファクタリング・デバッグ、CI/CD、Flutter Web
2.状態管理やネイティブ連携が習得可能
StatefulWidget、Redux、Provider などでの状態管理を解説し、ネイティブ連携は MethodChannel、EventChannel、MessageChannel すべてを網羅しています。
3.データベースもカバー
SQLite や Firebase Firestore も解説しています。本格的なアプリケーションの開発に役立ちます。
4.チーム開発には欠かせないポイントを徹底解説
リファクタリング・デバッグや CI/CD など、チーム開発には欠かせない手法を解説してあります。複数の手法を提案しているので、ご自身のチームにあうものがきっと見つかります。
5.ローカライズやアクセシビリティにも丁寧に対応
これからのモバイルアプリや Web アプリには必須となるローカライズやアクセシビリティ対応についても、丁寧に解説してあります。サンプルを確認しながら実装していくことができます。
■本書の構成
第 1 章 現場で Flutter を使うために
第 2 章 レイアウト
第 3 章 アニメーション
第 4 章 状態管理
第 5 章 データベース
第 6 章 ネイティブ連携
第 7 章 課金
第 8 章 ローカライズ
第 9 章 リファクタリング・デバッグ
第 10 章 CI/CD
ーーー
付録
1. Dart リファレンス
2. Web アプリケーション
第 1 章 現場で Flutter を使うために
第 2 章 レイアウト
第 3 章 アニメーション
第 4 章 状態管理
第 5 章 データベース
第 6 章 ネイティブ連携
第 7 章 課金
第 8 章 ローカライズ
第 9 章 リファクタリング・デバッグ
第 10 章 CI/CD
付録
1. Dart リファレンス
2. Web アプリケーション
技書の森解説
1 つのソースから iOS と Android、Web のアプリを作れる Flutter を、これからモバイルアプリ開発を始める人が手を動かしながら学び、チーム開発の作法まで身につけるための入門書です。『現場で使える Flutter 開発入門』 (澤 良弘、上村 隆弘、村岡 直人、多田 幸一 著、マイナビ出版、2021 年 8 月 24 日発売) は、版元の紹介によれば、リファクタリングや CI/CD などチーム開発に欠かせない知識も詰め込み、すぐに現場で使える 1 冊を目指した本です。著者の 4 名は、刊行時のプロフィールでいずれもエヌ次元株式会社に所属し、澤 良弘 氏は同社の代表取締役と紹介されています。
全 10 章と付録 2 本で見る Flutter 開発の範囲
本書は全 10 章と付録 2 本の構成です。第 1 章「現場で Flutter を使うために」で始まり、「レイアウト」「アニメーション」「状態管理」「データベース」「ネイティブ連携」「課金」「ローカライズ」「リファクタリング・デバッグ」と続いて、第 10 章「CI/CD」で終わります。付録は「Dart リファレンス」と「Web アプリケーション」の 2 本です。紹介文によれば、状態管理は StatefulWidget、Redux、Provider などでの方法を解説し、ネイティブ連携は MethodChannel、EventChannel、MessageChannel のすべてを扱います。データベースは SQLite と Firebase Firestore を取り上げ、ローカライズとアクセシビリティの対応はサンプルを確認しながら実装していく形です。リファクタリング・デバッグと CI/CD については、複数の手法を示してチームに合うものを選べるようにしていると案内されています。
宣言的な UI と状態管理、ネイティブ連携の考え方
Flutter は、OS の部品を呼び出して画面を組むのではなく、自前の描画エンジンで Widget を描く枠組みです。画面は Widget を入れ子にした木として宣言的に書き、データが変わると該当する部分を組み立て直して描き直します。この仕組みでは、どのデータをどの Widget が持ち、変更をどこへ伝えるかという 状態管理 の設計が、アプリの読みやすさと保守のしやすさを大きく左右します。StatefulWidget は 1 つの Widget の中に状態を閉じ込める基本の方法で、Provider は木の上位に置いた状態を下位の Widget へ渡す方法、Redux はアプリ全体の状態を 1 か所の store に集め、アクションを通してだけ変更する方法です。本書がこの 3 つを並べて扱うことで、小さな画面から始めて規模が大きくなったときにどこで方法を切り替えるかを考える材料になります。一方、カメラやセンサー、端末固有の機能のように Dart だけでは届かない部分は、Kotlin や Swift などで書いた側とメッセージをやり取りして呼び出します。メソッドの呼び出しと戻り値を扱う MethodChannel、端末側から連続して届く値を受け取る EventChannel というように、用途で通り道が分かれている点が、ネイティブ連携の章を読む前に押さえておきたい前提です。
2021 年刊の本として読む時の注意と、向く読者
この本は 2021 年 8 月の刊行で、その時点の Flutter と周辺パッケージを前提にしています。Flutter はリリースの頻度が高い枠組みなので、パッケージの導入手順やコマンド、設定ファイルの書き方は公式ドキュメントと突き合わせながら進めるのが確実です。逆に、Widget の組み立て方や状態の置き場所の考え方、チームで CI/CD を回すときの観点のように、版をまたいで通用しやすい部分は、刊行年の影響を受けにくい読みどころです。Dart は付録にリファレンスとして置かれている形なので、プログラミングそのものが初めての人は、別の入門書で文法の基本を固めてから読むと進めやすくなります。
個人の学習で Flutter を触ったことはあっても、データベースや課金、多言語対応、CI/CD まで含めて 1 本のアプリを仕上げる流れを見たことがない人にとって、本書はその全体像を 1 冊で確かめられる点が強みです。モバイルアプリの開発をこれから仕事で始める人や、チームに Flutter を持ち込む前に必要な作業の範囲を見積もりたい人は、第 1 章から順に手を動かしてみてください。
言及した記事 (4 件)
この本は技書デッキのカードです (攻撃 20 / 備え 2) 図鑑でこの本を見る
この本に興味がある方におすすめ
関連する本
関連記事
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
障害対応の夜に思い出す、あの本の 1 ページ
本番障害の緊迫した場面で、過去に読んだ技術書の知識が助けてくれることがあります。「いつか役立つ」知識が「今この瞬間」に変わる読書の価値を考えます。
Web 開発本ガイド - フロントエンドからバックエンドまで
Web 開発の全体像を学べる技術書の選び方と学習マップを紹介。フレームワーク本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
関連用語
Android
Google 主導で開発されるモバイル OS。世界で最も多く使われるスマートフォン基盤
Flutter
1 つのコードで iOS / Android 両対応のアプリを作れる Google 製フレームワーク
シングルサインオン
1 回の認証で複数のアプリケーションやサービスにアクセスできる仕組み
iOS
Apple の iPhone / iPad 向けモバイル OS。ハードとソフトの統合と審査の厳格さが特徴
PHP
Web 開発で広く使われるサーバーサイド言語。動的な Web ページ生成を得意とする
Web アプリケーション
ブラウザーを通じて利用するアプリケーション。インストール不要で幅広い端末で動く