試験公開中

このエントリーをはてなブックマークに追加

Flutter モバイルアプリ開発バイブル

マイナビ出版

3,190円+税

最先端モバイルアプリケーションフレームワークを徹底解説。iOS・Androidなどクロスプラットフォームで動作するモバイルアプリの開発者を対象にして、全体感を踏まえた基礎的な部分から実践的な概念や実装に至るまで、丁寧に説明していきます。

関連サイト

本書の関連ページが用意されています。

内容紹介

最先端モバイルアプリケーションフレームワークを徹底解説

Googleが開発しているモバイルアプリケーションSDK、Flutterの実践解説書です。iOS・Androidなどクロスプラットフォームで動作するモバイルアプリの開発者を対象にして、全体感を踏まえた基礎的な部分から実践的な概念や実装に至るまで、丁寧に説明していきます。

「Chapter1 Flutterとは」ではFlutterの概要を解説します。

「Chapter2 開発環境の構築」では、Flutter本体のインストールに加えてiOSシミュレーターやAndroidエミュレータでの開発環境の構築を紹介します。Flutter自体はクロスプラットフォームですが、ビルドシステムや端末上での動作などは既存システムを使用するため、各プラットフォームの開発環境も整える必要があります。

「Chapter3 ウィジェット」では、Flutterの重要な構成要素であるウィジェットを解説します。全体的なレイアウトやデザイン、画像、テキスト、アニメーションなどのUI だけでなく、アプリ自体がウィジェットを用いて構築されています。この章ではウィジェットの扱いを中心に、UIの構築に必要な基本的な機能を解説します。

「Chapter4 状態管理」では、アプリケーション開発に欠かせない要素の1つである状態管理に関して、その必要性やメリットを解説します。また、Flutterによるアプリ開発で実際に使われている状態管理の手法を紹介します。

「Chapter5 ライブラリの実装」では、開発効率を向上させるために有用な、Dartでのライブラリの作成方法を解説します。また、各プラットフォーム固有の機能を実現するネイティブコード実装によるライブラリ作成も説明します。

「Chapter6 サンプルアプリの実装」では、小規模なサンプルアプリケーション開発における実装をサンプルコードとともに説明していきます。要件定義からドメインレイヤ、バックエンド、プレゼンテーションレイヤまで、順を追って解説します。スマートフォン向けアプリケーション開発で必要となる要素を学びましょう。

「Chapter7 開発の継続」では、フローの自動化に必要となるテストやデバッグツールの活用、デプロイメントやデリバリーを解説します。高品質なアプリケーションの継続的なデリバリーはもとより、より短いサイクルでの開発が求められる昨今では、手動運用による業務フローだけでは効率的な開発は困難です。業務フローの自動化によって、継続的に発生する運用コストの削減と持続性が高い開発フローを整えることが学んでください。

巻末のAPPENDIXでは、Dart 言語の仕様、Flutter Webなどを解説しています。

モバイルアプリ開発に課題を感じている開発者の方が、課題解決方法の1つとしてFlutterを活用できる手助けができれば幸いです。書籍中で解説しているサンプルコードをダウンロード可能です。

書誌情報

  • 著者: 南里勇気, 太田佳敬, 矢田裕基, 片桐寛貴(著), 丸山弘詩(編)
  • 発行日: (紙書籍版発行日: 2019-10-31)
  • 最終更新日: 2019-10-31
  • バージョン: 1.0.0
  • ページ数: 320ページ(PDF版換算)
  • 対応フォーマット: PDF
  • 出版社: マイナビ出版

対象読者

著者について

南里勇気

株式会社FiNC Technologies所属、アプリエンジニア(Android・iOS)。クロスプラットフォーム開発に興味を持ち、FlutterやFirebaseに関連する勉強会の主催に加え、DroidKaigiやAndroid Bazaar and Conferenceなど各種カンファレンス登壇実績も多数。Bluetooth LEや機械学習、AR・VRなどの組み込み開発の実務経験もある。

太田佳敬

サーバーサイドエンジニア。健康系アプリ開発会社からAIベンチャーへと転職、アプリエンジニアとしてiOS・Android向けの開発を担当することで、クロスプラットフォーム開発に興味を持つ。現在はアプリはもちろん、バックエンドに加えてVue.jsやk8sなどあらゆる領域を担当し、Webへの展開を見据えたクロスプラットフォーム開発の1回答としてFlutterに注力している。

矢田裕基

株式会社FiNC Technologies所属、アプリエンジニア(Android)。スマートフォンアプリ、アート作品やデジタルサイネージ、パズルなどを制作に携わり、現在のポジションとなる。ユーザーインターフェイスに関心があり、Material Design実装が容易なFlutterに興味を持つ。過去の実績として、『物理演算を用いた作曲インターフェス』が独立行政法人情報処理推進機構(IPA)の2009年度上期未踏ユースに採択されている。

片桐寛貴

株式会社FiNC Technologies所属、サーバーサイドエンジニア。フロントエンドからバックエンドまでサーバーサイドを中心にWeb関連全般を担当。バックエンドではPHPやRails、フロントはVue.jsやReact などを得意としている。最近はSRE(サイト信頼性エンジニアリング)や機械学習に興味を持つ。

丸山弘詩

書籍編集者。早稲田大学政治経済学部経済学科中退。国立大学大学院博士後期課程編入(システム生産科学専攻)、単位取得の上で満期退学。大手広告代理店勤務を経て現在は書籍編集に加え、さまざまな分野のコンサルティングや開発マネージメントなどを手掛ける。著書に『スマートフォンアプリマーケティング 現場の教科書』(マイナビ出版)など多数、編集書籍に『ブロックチェーンアプリケーション開発の教科書』『ビッグデータ分析・活用のためのSQLレシピ』(マイナビ出版)など多数。

目次

Chapter1 Flutterとは

  • 1-1 Flutter開発
    • 1-1-1 クロスプラットフォームの概念
    • 1-1-2 Hot Reloadによる開発速度向上
    • 1-1-3 洗練された独自UI
    • 1-1-4 ネイティブ開発と遜色ない高いパフォーマンス
    • 1-1-5 マルチプラットフォーム対応
    • 1-1-6 Flutterの利用企業
  • 1-2 既存のクロスプラットフォーム開発
    • 1-2-1 Xamarin
    • 1-2-2 Unity
    • 1-2-3 React Native
    • 1-2-4 Flutter

Chapter2 開発環境の構築

  • 2-1 インストール
    • 2-1-1 Flutterの導入
    • 2-1-2 Android Studio(インストールと機能説明)
  • 2-2 各デバイス向けの開発環境
    • 2-2-1 Androidアプリケーションの開発環境
    • 2-2-2 iOSアプリケーションの開発環境
  • 2-3 Flutterアプリケーションの作成
    • 2-3-1 新規アプリケーションの作成
    • 2-3-2 サンプルプロジェクトの構成
    • 2-3-3 Androidエミュレータ/iOSシミュレーターでの起動
    • 2-3-4 Android端末での起動
    • 2-3-5 iOS端末での起動
    • 2-3-6 Hot Reload

Chapter3 ウィジェット

  • 3-1 ウィジェットの基本
    • 3-1-1 ウィジェットの基礎知識
    • 3-1-2 StatelessWidget
    • 3-1-3 StatefulWidget
  • 3-2 レイアウトの構築
    • 3-2-1 レイアウト構築の基本
    • 3-2-2 レイアウト構築の基本的なウィジェット
  • 3-3 画面遷移とウィジェットの状態管理
    • 3-3-1 画面遷移
    • 3-3-2 ユーザー操作に伴うウィジェットの状態管理
  • 3-4 アセット管理とアニメーション
    • 3-4-1 アセットの管理
    • 3-4-2 アニメーションの基本
    • 3-4-3 アニメーションの描画
  • 3-5 ウィジェットの応用
    • 3-5-1 パフォーマンスの課題
    • 3-5-2 パフォーマンス対策

Chapter4 状態管理

  • 4-1 状態管理の基本
    • 4-1-1 状態管理の必要性
    • 4-1-2 Model View Controllerアーキテクチャ
    • 4-1-3 Flutterにおけるアーキテクチャ
  • 4-2 Scoped Model
    • 4-2-1 Scoped Modelの全体像
    • 4-2-2 Scoped Modelでの実装
  • 4-3 Redux
    • 4-3-1 Reduxの全体像
    • 4-3-2 Reduxでの実装
  • 4-4 BLoC
    • 4-4-1 BLoCの全体像
    • 4-4-2 BLoCでの実装

Chapter5 ライブラリの実装

  • 5-1 パッケージ
    • 5-1-1 パッケージの最小構成
    • 5-1-2 パッケージの種類
  • 5-2 パッケージの実装
    • 5-2-1 Dartパッケージ
    • 5-2-2 Platform Channel
    • 5-2-3 Pluginパッケージ
    • 5-2-4 Pluginパッケージの実装
    • 5-2-5 Flutter Pluginの利用
  • 5-3 パッケージの公開
    • 5-3-1 APIドキュメントの作成
    • 5-3-2 パッケージの公開

Chapter6 サンプルアプリの実装

  • 6-1 要件定義
    • 6-1-1 サンプルアプリの概要
    • 6-1-2 画面設計
    • 6-1-3 技術選定
  • 6-2 ドメインレイヤの実装
    • 6-2-1 ドメインオブジェクトの実装
    • 6-2-2 リスト表示機能の定義
    • 6-2-3 イベントの実装
    • 6-2-4 通信部分の定義
    • 6-2-5 状態管理の実装
  • 6-3 通信部分の実装
    • 6-3-1 EventListRepositoryの実装
  • 6-4 プレゼンテーションレイヤの実装
    • 6-4-1 画面の構築とイベントの通知
    • 6-4-2 BlocProviderの利用
  • 6-5 ユーザー認証の実装
    • 6-5-1 ドメインレイヤの実装
    • 6-5-2 バックエンドの実装
    • 6-5-3 プレゼンテーションレイヤの実装
  • 6-6 ログインの実装
    • 6-6-1 ログインにおけるドメインレイヤの実装
    • 6-6-2 ログインにおけるバックエンド実装
    • 6-6-3 ログインにおけるプレゼンテーションレイヤ実装

Chapter7 開発の継続

  • 7-1 テストと最適化
    • 7-1-1 デバッグツールDevTools
    • 7-1-2 DevToolsのデバッグ機能
    • 7-1-3 Flutterにおけるビルドの種類
    • 7-1-4 テスト
    • 7-1-5 継続的インテグレーション
  • 7-2 デプロイメント
    • 7-2-1 iOS版のリリース
    • 7-2-2 Android版のリリース
    • 7-2-3 CIとCD

APPENDIX

  • Flutter 1.9
  • Dart言語
  • 既存プロジェクトへのFlutterの追加
Home 書籍一覧 Flutter モバイルアプリ開発バイブル ▲ ページトップへ戻る