ISBN 9784296080236
.NET MAUIによるマルチプラットフォームアプリ開発 : iOS、Android、Windows、macOS対応アプリをC#で開発
概要
.NET MAUIでiOS/Android/Windows/macOS対応アプリをC#一本で開発する
想定読者
C#の基礎があり、Xamarin.Formsからの移行またはクロスプラットフォームモバイル開発の初挑戦を検討しているエンジニア
こんな人には向いていない
- C#やオブジェクト指向の基礎を持たない完全な初学者(前提言語知識が必要)
- すでに.NET MAUIを実務で運用しており、上級アーキテクチャや大規模設計を深堀りしたい開発者(中上級者向けの応用内容は薄い)
- Swift/Kotlin等のネイティブ開発にこだわりがあり、クロスプラットフォームアプローチに関心のない読者
読了後にできるようになること
- .NET MAUIプロジェクトの構成と、Xamarin.Formsとの主要な差分を説明できる
- XAML UIとC#コードビハインドを組み合わせたページ・ナビゲーション実装ができる
- MVU(Model-View-Update)パターンを.NET MAUIで適用し、従来のMVVMと使い分けの判断ができる
- SQLiteを使ったローカルDBとWeb APIを組み合わせたデータ永続化を実装できる
- 加速センサー・GPS・カメラ・QRコードなどデバイス固有機能をプラットフォーム横断で利用できる
- iOS・Android・Windows・macOSそれぞれのプラットフォーム固有処理を共通プロジェクト内で切り分けられる
本書のキー概念(章解説)
- 第 1 章 .NET MAUIの概要とXamarin.Formsとの比較 — 移行者はここを読むだけで技術的な差分が整理できる
- 第 2 章 iOS/Android/Windows/macOS向け共通アプリの基本構成
- 第 6 章 MVU(Model-View-Update)モデルによる開発パターン — Xamarin.Formsにはなかった新設計パターン。MVVMと対比して読むと選択基準が明確になる
- 第 7 章 プラットフォーム固有処理の実装
- 第 10 章 SQLiteを使ったローカルデータベース操作 — 実務直結度が高い。Web API連携と組み合わせる構成の参照先として繰り返し参照する価値がある
- 第 11 章 加速センサー・GPS・カメラ・QRコードの利用 — デバイスネイティブ機能へのアクセスを横断的に解説する章。モバイルアプリらしさを出したい場合の実装起点
ハイライト
- .NET MAUIでは、.NET 6で使用可能な完全なクラスライブラリが使用できるようになりました。さらに、これまでは開発できなかったmacOSのアプリも開発できるようになりました。(Xamarin.Formsからの制限解消という最大の進化点を端的に示している箇所)
- MAUI自体はユーザーインターフェイスの機能しか持たないのですが、モバイルアプリを作成するときにWeb APIの利用や内部でのデータベース(SQLite)の利用が必須となるため、周辺技術も含めて解説しています。(UIフレームワークにとどまらず実務で必要な周辺スタックをカバーしている点が購入判断の根拠になる)
編集メモ
Qiita記事の提供なし(入力シグナルゼロ)、楽天ランキング情報なし。書誌情報のみからの判定。2023年1月刊行で.NET MAUI初期世代の解説書として実務参照価値はあるが、外部シグナル不足のためsupplementaryとする
読む前に押さえておきたいこと
- C#の基本文法(クラス、継承、非同期処理async/await)
- XAMLの基礎的なUI記述の経験、またはHTMLに近いマークアップ言語の理解
- Visual Studioのプロジェクト管理・デバッグ操作の経験
学習のコツ
- C#とXAMLの基礎があれば1〜3章は速読し、6章のMVUパターンから精読することで投資効率が上がる
- 10章(SQLite)と11章(デバイス機能)は独立性が高いため、必要な機能が生じたタイミングでリファレンス的に参照する読み方も有効
- macOS対応を初めて試みる読者は、iOS/Androidで動作確認済みのコードをmacOSに展開する手順を追うことで差分が把握しやすい
出版社による内容紹介
.NET 6から使用可能になった .NET MAUI(Multi-platform App UI)は、従来のXamarin.Formsの後継となるマルチプラットフォームアプリを開発するためのフレームワークで、Android/iOS/Windows/macOS対応のアプリをC#を使って開発できます。 従来のXamarin.Formsでは、 .NET Standardという機能限定版のクラスライブラリしか使用できませんでしが、 .NET MAUIでは、 .NET 6で使用可能な完全なクラスライブラリが使用できるようになりました。 さらに、これまでは開発できなかったmacOSのアプリも開発できるようになりました。 本書の前半では、 .NET MAUIを利用した、 iOS/Androidなどのマルチプラットフォーム対応の共通アプリケーションの作り方を解説します。 6章では、従来のXamarin.FormsではサポートされていなかったMVU(Model-View-Update)モデルという新たな開発パターンについても言及します。 後半では、プラットフォーム特有の操作(データベースやファイル操作など)を利用したアプリの開発を解説します。 11章では、加速センサー、GPS、カメラ、QRコードの利用方法を説明します。 MAUI自体はユーザーインターフェイスの機能しか持たないのですが、モバイルアプリを作成するときにWeb APIの利用や内部でのデータベース(SQLite)の利用が必須となるため、周辺技術も含めて解説しています。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。