.NET MAUIを使う利点
1.C#が使える
やはり一番のポイントはC#及び.NETの資産が使えるというのが一番でかい。
C#はあのTypeScriptのもととなった言語で言語設計が素晴らしく直感的にプログラミングが書ける。
またLINQやAsync/Await,ReactiveXのように多言語へ大きく影響を与えた素晴らしい言語である。
レガシーでいて先進的
アンダースヘルスバーグ is God
LINQやReactiveXはもちろんASP.NETのリアルタイム通信技術SignalRや機械学習(AI)用のML.NETをそのままモバイルアプリとして実装できるのがC#erである私たちを大いに魅了するものである。
C# is God
2.VisualStudioとの親和性
やはりC#のIDEであるVisualStudioをフル活用して開発できることは大きな生産性を生む。
VisualStudio2022で実装されたインテリセンスの上位機能コパイロットを搭載して驚異のコーディングスピードを取得することができた。
インテリセンスやコードレンズの機能も変わらずコーディングの支援をきっちり行ってくれる。
また.NET MAUIの特別な機能としてAppleDeveloperProgramに登録さえしておけば、Macを購入しなくてもローカルのiPhoneやiPadでデバッグができるので、Windowsの慣れた環境でクロスプラットフォームのモバイルアプリを開発できることは大きな利益を生むだろう。
VisualStudio for MacもCommunity(無料)版が出ているのでMacでも簡単に開発できるようになった。
.NET MAUIの開発でVisualStudioを使わない奴はバカである。
3.ネイティブAPIの機能がすべてそろっている
指紋認証からAR技術まで今現在iOS,AndroidにあるAPIがすべてそろってあり、iOSやAndroidから.NET MAUIへ移行する人でも違和感を感じることなく、開発できる。
このあたりにおいては、ReactNative、Flutterにはない.NET MAUIにおける大きな利点となるだろう。
4.機能の実装はC#、Viewの部分はXAMLで簡単にMVVMができる
C#のGUIアーキテクチャといえばXAMLをView部分に使用したMVVMであろう。
各言語が得意な分野で機能的に動作することで、アプリの維持管理やテストが容易になる。
ChildやChildrenとかもはやアホかと、、、
5.VBやF#などの.NET系の開発言語も使える
今現在はMVUでの実装のみとなるが、.NET系の開発言語VBやF#でも開発できるようになった。
VBは業務アプリでの使用率が高いため、業務アプリをモバイルアプリへ展開するなどかなりの需要がたかまりそう。
F#はコンピューターサイエンス(以下CS)で多く使われ、モバイルアプリの中にCSの機能を盛り込む際、大きな力を発揮するだろう。
6.大規模アプリでの実装例
こちらはXamarinでの使用であるが、.NET MAUIへの移行が進められているのでご紹介
モバイルSuicaやモバイルPasmoなどの交通系ICアプリはXamarinで開発されてある。
交通系ICアプリは2024年以降も必ず使われていくため.NET MAUIへ移行される未来はもはや確定されている。
また2023年春に公開されるモバイルICOCAについてもSuica,PasmoがXamarinのため、.NET MAUIで書かれている可能性がかなり高い。今後期待大である。
その他、AzureやSwitchOnline,紅白アプリやCOCOAにも使われており、やはりネイティブAPIを活用したXamarinらしいアプリが多め。
C#ということでかなり大規模で聞けばどんな会社かすぐ出てくるようなところで開発が盛んな印象である。
逆にFlutterとかどこで使われてんの???といった状況である。
今後の展望
やはりC#といった特性から今までC#で業務アプリを作ってました~というような会社がそのスタンドアローンなアプリをモバイルに移行するといった用途での需要がかなり高まると思っている。
また、C#はUnityでも使用される言語のため、スマホゲームの補助用アプリ(攻略アプリなど)として.NET MAUIちょっと使ってみるか~な形で各ゲーム会社さんがこぞって使っていくようなそういう未来を夢見ている。
.NET MAUIのコミュニティはまだまだ未成熟なので、情報を発信、共有できるようなプラットフォームを作成し、.NET MAUIをよりよいフレームワークとして機能できるように推し進めていきたい。