okuzawatsの日記

Android / Kotlin / GitHub Actions Enthusiast 🤖

「Jetpack ComposeによるAndroid MVVMアーキテクチャ入門」を執筆しました

目次

「Jetpack ComposeによるAndroid MVVMアーキテクチャ入門」が出版されます

明日2021年9月3日、NextPublishing様より、拙著「Jetpack ComposeによるAndroid MVVMアーキテクチャ入門」が出版されます。Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書です。Androidアプリからソフトウェア開発の道に入った初学者が苦しむポイントのひとつに、MVVMをはじめとするGUIアーキテクチャの理解があると思います。本書は、初学者がMVVMアーキテクチャに親しみ、理解できることをゴールとして設定して執筆しました。

本書を書き終えた後も、「あれも書けばよかった」「あそこはこう説明すればよかった」と思うことがたくさんありました。また、自分の理解が浅く、表面的な説明しかできなかった箇所もあります。まだまだやり残したことはありますが、限られた執筆時間の中でベストを尽くしたと思っています。反省はありますが、後悔はありません。

目次

1. 前書き
  1. 本書について
  2. 想定する読者
  3. 本書の構成
  4. 本書のサンプルアプリにおいて採用する周辺技術
  5. サンプルアプリの開発環境
2. はじめてのMVVMアーキテクチャ
  1. MVVM アーキテクチャとは
  2. Model-View-Whatever
  3. Model-View-ViewModel
  4. 宣言的UI
  5. Android のアプリアーキテクチャガイド
  6. DI(依存性注入)
3. カウントアップアプリを作ろう
  1. プロジェクトの作成
  2. カウントアップアプリの作成
  3. はじめてのViewModel
  4. ViewModel(Jetpack)の導入
4. GitHubのWeb APIを使ったアプリを作ろう
  1. プロジェクトの準備
  2. Remote Data Source の実装
  3. Repository の実装
  4. ViewModel の実装
  5. View の実装

読んで欲しい人

本書は、Androidアプリからソフトウェア開発の道に入った初学者の方に読んで欲しいと思い、執筆しました。何故なら、自分がAndroidアプリ開発からソフトウェア開発の道に入り、最も苦しんだことのひとつが、アーキテクチャの理解だったからです(苦しんだポイントは他にも多々あります)。Modelとは、Viewとは、ViewModelとは…と堂々巡りの自問自答を繰り返し、苦しんだ経験を後から来る方達に繰り返して欲しくない、という想いです。

また、MVVMのようなアーキテクチャを理解してアプリケーションのコードに落とし込むことができるかどうかは、アプリ開発の生産性や品質、さらにはビジネスの成功に多大な影響があると筆者は考えています。それにも関わらず、アーキテクチャの学習は初学者に優しいと言える状況ではないと考えました。もちろん、Androidアプリのアーキテクチャについて解説した良書は既に市場に存在します。本書の先に立つそれらの良書よりも、さらに初学者に優しい入門書としてまとめたい、というモチベーションがありました。

Androidアプリ開発の初学者の方、また、そのような皆さまのトレーニングに本書を役立てていただければ、筆者冥利に尽きます。

入手先

電子版は、Amazon Kindle、楽天 Kobo他、各種プラットフォームから購入いただけます。

紙版は、Amazon、hontoより、オンデマンドプリントにて購入いただけます。

お礼

編集や校正を担当いただいた株式会社インプレスR&Dのご担当者様、MVVMアーキテクチャについての理解を深める機会をくれた同僚諸氏、育児や家事の合間にキーボードを叩く自分を見守ってくれた妻と子に、この場を借りてお礼を申し上げます。ありがとうございました。

本書の文責は全て筆者にあります。本書の内容に至らぬ箇所があれば、それはひとえに筆者の未熟によります。

2021年11月14日追記

P.29にある、「Android Studio Arctic Fox (2021.3.1 Canary 14)」は「Android Studio Arctic Fox (2020.3.1 Canary 14)」の誤りです。

#Android #Writing #About

書いている人 😎

profile

茨城県つくば市在住のモバイルアプリケーションアーキテクト(Androidが得意です)。モバイルアプリのアーキテクチャ、自動テスト、CI/CDに興味があります。いわゆる「レガシーコード」のリファクタリング・リアーキテクチャが好きです。

👉 もっと詳しく

著書 ✍

Android 依存性注入 ヒッチハイク・ガイド🧳

Androidアプリでの依存性注入(Dependency Injection)に入門するためのガイダンスです。依存性注入の概念やメリットを理解し、Dagger Hiltを用いてAndroidアプリに適用する方法を解説しています。

販売サイトへ🏃

ソフトウェアデザイン 2023年6月号📚

特集「クリーンアーキテクチャとは何か?」の第5章「モバイルアプリ開発における実践」を執筆しました。

販売サイトへ🏃

Android クリーンアーキテクチャ ヒッチハイク・ガイド🧳

Androidアプリでのクリーンアーキテクチャに入門するためのガイダンスです。クリーンアーキテクチャの概念を理解し、Androidアプリに適用する方法を解説しています。

販売サイトへ🏃

Android ユニットテスト ヒッチハイク・ガイド🧳

Androidアプリのユニットテストに入門するためのガイダンスです。初学者が混乱せずにAndroidアプリのユニットテストを書き始めることができる、ということを目的としています。

販売サイトへ🏃

Android MVVMアーキテクチャ入門🛠

Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。NextPublishingより出版されています。

販売サイトへ🏃

関連記事 👀

お問い合わせ✉️

Androidアプリ開発、特にレガシープロジェクトに関するご相談はこちらまで📨

お名前

メールアドレス

お問い合わせ内容