今回は「クロスプラットフォーム.NET MAUIで何ができるか」について解説します。
.NET MAUIとは
.NET MAUIは、iOS、Android、Mac、Windows向けのパフォーマンスの高いクロスプラットフォームであり、デスクトップ、及びモバイルアプリを構築するためのMicrosoftのまったく新しいフレームワークです。
すべては、1つのコードベースから実行できます。
最もいい部分は、すべてが用意されているVisual Studioを使うことで、最初から非常に生産的であることです。
今後、何回かに分けて以下について解説します。
- .NET MAUI Projectの内容
- ユーザーインターフェイスの作成
- 高度なMVVM、アーキテクチャ、及びデータバインディングの重要部分についても解説
- プラットフォームの統合
- ナビゲーション
UI(ユーザーインターフェース)の開発
.NET CoreアプリのUIを簡単に作成することができます。
データバインディングなどの優れた機能を備えたXMLベースのマークアップであるXAMLで、ネイティブのクロスプラットフォームユーザーインターフェイスを直接構築することも、完全にC#で構築することもできます。
XAML(ザムル)とは
米マイクロソフト(Microsoft)社が開発した、ソフトウェアの表示画面(ユーザーインターフェース)などを記述するためのXMLベースのマークアップ言語。
データバインディングとは
アプリのUI部分(テキストやボタン等)と、そこに表示されるデータとの間の接続を確立する処理です。データの値が変更されると、そのデータにバインドされている要素に変更が自動的に反映されます。
開発者は、すべてを1つの共有コードベースに記述するだけで、各環境でそれぞれ記述していた以下のような処理を簡単に実行することができます。作成するコードが何であれ、ボタンにしてみると.net mauiはネイティブコントロールを生成してレンダリングします。
iOSでは、UIKitを取得
Andoridでは、Androidウィジェットを取得
Macでは、Mac Catalystを利用
Windowsでは、WindowsアプリSDKとWinUI3を活用して実行
ビジネスロジックの開発
更にユーザーインタフェースを作成するだけでなく、ビジネスロジックも共有できます。
- Models
- View Models
- RESTful Service Calls
- Databases
様々なプラットフォームのネイティブAPIにC#で直接アクセスできます。
これは、ユーザーインタフェースと同様に、各種アプリへの接続、GPSによる位置情報、各種センサーなどの一般的なものを1つの共通APIで利用出来ることができることを意味します。
まとめ
.NET MAUIを使うことで、複数の言語(SwiftやObjective-C、Javaなど)、複数のツール(Xcodeなど)を学習しなくても、Visual Studioを使うことで、最初から非常に生産的に開発をすることができます。
さらに、UIは1つの共有コードベースに記述するだけで異なる環境でも非常に美しく表現できます。ビジネスロジックも共有できるので便利です。