マイクロソフト、マルチプラットフォームUIを実現する「.NET Multi-platform App UI」(MAUI)を実際にデモ。単一コードからWebとWindowsアプリを生成

2021年3月1日

マイクロソフトは2月26日にオンラインイベント「.NET Conf 2021 - Focus on Windows」を開催しました。

イベントの中で同社は、マルチプラットフォームUIを実現するフレームワーク「.NET Multi-platform App UI」(以下、.NET MAUI)を用いて開発したアプリケーションをデモし、実際に単一コードから生成されたWebアプリケーションとWindowsネイティブなデスクトップアプリケーションを披露しました。

.NET 6に組み込まれる「MAUI」はマルチプラットフォームUIを実現

.NET MAUIは、今年11月に正式リリース予定の「.NET 6」に組み込まれる予定のマルチプラットフォーム対応UIフレームワークです。

.NET MAUIでアプリケーションを開発すれば、単一のソースコードでWindows、macOS、iOS、Androidそれぞれのネイティブユーザーインターフェイスを実現できます。

fig1

参考:マイクロソフト「.NET 6」初めてのプレビュー版リリース。Xamarin統合、マルチプラットフォームUI、Blazorでデスクトップアプリ、Apple M1ネイティブなど

BlazorもMAUIを採用

また、同じく.NET 6で登場予定の「Blazor hybrid desktop app」も、この.NET MAUIをベースにしています。

fig2

Blazor hybrid desktop appは、C#など.NETテクノロジーでWebアプリケーションを記述できるBlazorフレームワークの新機能です。

Blazorには、サーバサイドでアプリケーションのコードが実行される「Blazor Server」とWebブラウザ側にWebAssemblyで実装されたフレームワークが用意され、その上でコードが実行される「Blazor WebAssembly」がすでに登場しています。

新たに登場するBlazor hybrid desktop appは、いわゆるハイブリッドアプリ、つまりHTMLやJavaScriptなどのWeb技術を用いてアプリケーションを実装し、それをElectronのようなWebViewコンポーネントの上で実行することでネイティブアプリのような使い勝手を実現するのと似た仕組みで、デスクトップアプリケーションを実現します。

単一のソースコードからWebアプリとWindowsデスクトップアプリを生成

今回のオンラインイベントでは、この.NET MAUIを用いて単一のソースコードから共通のUIを備えたWebアプリケーションとWindowsネイティブなデスクトップアプリケーションの生成が披露されました。

下の画面は、Blazorを用いて開発されたWebアプリケーション。Webブラウザ上で実行されています。

fig3

そして同じソースコードから生成された、Windowsネイティブなデスクトップアプリケーションも実行されました。

fig4

マイクロソフトは.NET 6でXamarinも.NETに統合予定です。これにより.NETは、デスクトップ、Web、モバイルなどあらゆるプラットフォームに対応するマルチプラットフォーム対応のユニバーサルなフレームワークになります。

fig5

そしてロジック部分のコードの共通化はもちろん、.NET MAUIを用いることでUI部分のコードも共通化できるようになれば、.NETは本当の意味でのユニバーサルなフレームワークに近づくことになるでしょう。

しかし本当に単一コードでWindows、Web、iOS、Androidといった複数のプラットフォームにまたがるユーザーインターフェイスを表現できるのか、まだ懐疑的な声は多いと思われます。

マイクロソフトは今後もそうした懐疑的な視線に対して、実際に動作するデモやコードを示していくことで応えていくことになるのでしょう。

関連記事

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本