目次

はじめに

免責事項

第1章 AndroidでMVVMを使ってみよう

1.1 MVVMとは
1.2 MVVMを適用する
1.3 まとめ

第2章 SwiftUIを触ってみる

2.1 SwiftUIとは
2.2 SwiftUIのプロジェクト作成
2.3 Viewの紹介
2.4 簡単なアプリを作ってみる
2.5 まとめ

第3章 Flutter

3.1 Flutterの概要
3.2 Flutterのコードをみてみる
3.3 サンプルアプリによる追加の解説
3.4 最後に

付録A (おまけ)OSアップデート事情

A.1 Android11
A.2 まとめ

あとがき

はじめに

 この本を手にとっていただきありがとうございます!! 著者のくまです。この本はモバイル開発についてAndroid・iOSにこだわらず書きました。詳しいところまで書いてない部分もあり、長年モバイル開発をしている方にとっては物足りない内容になっているかもしれないですが、SwiftUIやFlutterなど最近の技術についても書いています。ぜひ、ご一読ください!!そして、モバイル開発って楽しそうと思ってもらえると幸いです。

免責事項

 本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。

第1章 AndroidでMVVMを使ってみよう

 この章では、Android開発で一般的なアーキテクチャーのMVVMについて書いていこうと思います。そもそもMVVMとはどういったアーキテクチャーなのかというところから、実際にどうやって実装していくのかまで、順を追って説明します。

1.1 MVVMとは

 まず、アーキテクチャーとはアプリの設計手法のことを表し、MVVMだけでなく、MVPMVCなどがあります。MVVMとはModelViewViewModelの略です。Googleは、基本的なアーキテクチャとしてMVVMを推奨しています。

 Modelは馴染みのある方が多いかもしれませんが、データを実態として保存します。たとえば、Userクラスで実態化されたデータを、DBの仕様に合わせてDBに保存します。逆に、DBからデータを読み込みUserクラスとして実態を保持することもあります。DBから取得したデータを加工したり、加工したデータをDBに保存したりする役割があります。ViewActivityFragmentなど、UIを表示するためのコンポーネントです。更新された画面の表示やボタンを押して画面遷移を行うのをViewで行います。


 ViewModelは馴染みがないかもしれませんが、ViewがUIを表示するために必要なデータを取得し、Viewにデータを渡す役割を持っています。MVCでいうコントローラーとほとんど同じ役割だと思って問題ないと思います。Googleによると、MVVMは次のような図で表されます。1

図1.1: MVVMの概要

 RepositoryRemote Data Sourceはいったん置いといて、上記の図のようにそれぞれ独立した役割を持っています。逆に役割が決まっているので、次のようなメリットがあります。


 ・データの管理が楽になる

 ・テストをしやすくなる

 ・改修・機能追加がしやすい

 ・ミスを少なくする

 上記以外にもメリットがあります。例えば、Activityにすべての処理を書くと膨大な長さになってしまい、見るだけで疲れてしまいます。そして、ActivityやFragmentにデータの取得・保存・UIの表示などのすべての処理を記述すると、メモリ不足になる可能性があります。ActivityやFragmentは画面を回転したり、アプリをバックグラウンドに移したりするだけでライフサイクルが終了します。つまり、ActivityやFragmentを再度表示する際には、もう一度すべての処理を実行しなければならなくなります。そのような不具合を防ぐという意味でもMVVMは効果的なのです。

1. https://developer.android.com/jetpack/docs/guide#overview

試し読みはここまでです。
この続きは、製品版でお楽しみください。