[速報]マイクロソフト、新UIフレームワーク「.NET Multi-platform App UI」(.NET MAUI)発表。単一コードでマルチプラットフォーム対応。Microsoft Build 2020
オンラインイベント「Microsoft Build 2020」を開催中のマイクロソフトは、単一のソースコードでiOSやAndroid、Windows、Macなど複数のプラットフォームのユーザーインターフェイスに対応できる新しいUIフレームワーク「.NET Multi-platform App UI」(.NET MAUI)を発表しました。
With .NET 5, we begin our journey of unifying the .NET platform, bringing .NET Core and Mono/Xamarin together in one base class library and toolchain.
— .NET Team (@dotnet) May 19, 2020
Introducing .NET Multi-platform App UI (.NET MAUI)
Learn more: https://t.co/O1ktGNgSiv#dotnet #MSBuild pic.twitter.com/nJFokmnloA
マイクロソフトは現在、主要フレームワークの統合を進めています。統合されるのは、Windows向けの「.NET Framework」、当初はおもにサーバアプリケーション向けとして登場したオープンソースの「.NET Core」、そしてモバイル向けの「Xamarin」の3つです。
すでに.NET Frameworkと.NET Coreの統合は現在の「.NET Core 3.0」で進められており、今年の11月に登場予定の「.NET 5」ではXamarinも統合されることが、昨年のMicrosoft Buildで発表されています。
今年3月には.NET 5の最初のプレビューリリースが登場しました。
上記の図からも分かる通り、.NET 5はiOS、Androidなどのモバイルデバイス、Windowsのデスクトップアプリケーションそしてサーバアプリケーションなど、あらゆるアプリケーションをカバーする統合的なフレームワークになるのです。
ただし、フレームワークがマルチプラットフォーム対応だったとしても画面の大きさやOSの種類ごとに異なるユーザーインターフェイスを、それぞれプラットフォームごとに異なるコードで記述する必要があるとすれば、そこでの開発生産性は損なわれてしまいます。
.NET MAUI。マルチプラットフォーム対応UIを単一コードで
今回発表された.NET MAUIは、統合的なアプリケーションフレームワークのための、単一のプロジェクトおよびコードベースでiOSやAndroid、Windowsなど複数のプラットフォームに対応したネイティブなユーザーインターフェイスを実現できるUIフレームワークとなります。
「Introducing .NET Multi-platform App UI」から、その特徴を紹介する文章を引用します。
MAUI simplifies the project structure into a single project to target multiple platforms. This means you can easily deploy to any target that you wish including your desktop, emulators, simulators, or physical devices with a single click. With built-in cross-platform resources you will be able to add any images, fonts, or translation files into the single project, and MAUI will automatically setup native hooks so you can just code.
MAUIは複数のプラットフォームをターゲットにしたプロジェクトの構成を単一プロジェクトへとシンプルにします。これはつまり、デスクトップやさまざまなエミュレータ、シミュレータ、物理デバイスなどを問わず、どんなターゲットにも簡単にワンクリックでデプロイできる、ということです。ビルトインされたクロスプラットフォームリソースによって、あらゆる画像やフォント、翻訳ファイルなどを単一プロジェクトに追加でき、MAUIは自動的にネイティブフックを設定するため、プログラマはコードを書くだけです。
Finally, you will always have access the native underlying operating system APIs and it will be easier than ever with new platform specific integrations. Under platforms you can add source code files for a specific operating system and access the native APIs. With MAUI everything is in one place where you need it to keep you productive.
そのうえ、プログラマはいつでも下位にあるOSのネイティブなAPIにアクセスできるため、これまでより容易にプラットフォームに特化した統合が容易です。特定のOS向けにソースコードを追加でき、ネイティブなAPIにアクセスできます。MAUIは必要なものすべてが1か所にまとめられ、高い生産性を実現します。
.NET MAUIはGitHub上でオープンソースとして開発されます。ターゲットとなるフレームワークは.NET 5の次の.NET 6となっているため、正式リリースは2021年11月頃と思われます。
追記:2020年11月、.NET 5が正式にリリースされました。
Microsoft Build 2020
- [速報]マイクロソフト、新UIフレームワーク「.NET Multi-platform App UI」(.NET MAUI)発表。単一コードでマルチプラットフォーム対応。Microsoft Build 2020
- [速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020
- [速報]Windows Terminal 1.0正式リリース。7月からは毎月アップデートへ。Microsoft Build 2020
- [速報]WSL 2が正式版に到達。今後はLinuxのGUIアプリへも対応すると。Microsoft Build 2020
- [速報]Windows用パッケージマネージャ「winget」がプレビューリリース。コマンドラインからアプリケーションをインストール。Microsoft Build 2020
あわせて読みたい
[速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020
≪前の記事
クラウドの空きキャパシティを安く使える「Azure Spot Virtual Machines」が正式版に