.NET MAUIのクロスプラットフォーム機能と互換性を探る
クロスプラットフォームのアプリケーションを構築することは、現代の開発者にとって基本的なスキルであり、基本となるプロジェクト構造を理解することは不可欠です。 この記事は、ティム・コーリーのビデオ".NET MAUI First Look - What is it, how do we use it, and is it ready"に触発され、.NET MAUIフレームワークを使用したクロスプラットフォームアプリの構築の複雑さについて掘り下げています。
.NET Frameworkは、Windows専用 for .NETアプリケーションの構築と実行をサポートし、デスクトップ、Web、サーバーアプリケーション用の堅牢な環境を提供します。 対照的に、.NET MAUIは、.NET実装を使用したクロスプラットフォーム開発にこの機能を拡張し、統一されたコードベースでWindows、Android、iOS上で動作するアプリケーションを作成できるようにします。
ティムの洞察に従うことで、このソフトウェア開発フレームワークのセットアップ、設定、最適化の方法を探求し、.NET MAUIの可能性をフルに活用して、効率的で保守性の高いモバイルおよびデスクトップアプリケーションを構築します。
.NETのMAUIの紹介
.NET MAUIは、.NETエコシステム内の最先端のクロスプラットフォームフレームワークで、開発者はマネージドコードを使用してAndroid、iOS、macOS、Windows用のアプリケーションを作成できます。 包括的な.NETフレームワークのクラスライブラリと共通言語ランタイム(CLR)を活用し、異なるオペレーティングシステム間で効率的なパフォーマンスを実現します。
.NET MAUIのモジュール式で最適化されたアーキテクチャは、C#やVisual Basicなど、さまざまなプログラミング言語をサポートしています。 Visual Studioとシームレスに統合されているため、.NET Foundationと.NET開発者の活発なコミュニティに支えられ、効率的な.NET開発を保証します。
このフレームワークは、Web、デスクトップ、モバイルアプリケーションのクロスプラットフォーム互換性を提供し、.NET開発の未来を体現しています。 .NETコードをマシンコードにコンパイルする機能と、WPFやWindows Formsのようなアプリケーションモデルフレームワークのサポートにより、.NET MAUIは現代 for .NETアプリケーション開発者にとって多用途で強力なツールです。
.NETのMAUIとそのコンポーネントを理解する
ティムはまた、.NET MAUIの概要についても説明し、Multi-Application User Interfaceの略で、Android、iOS、macOS、Windows、Tizenなどさまざまなプラットフォーム上で動作するアプリケーションを、単一のプログラミング言語でプログラムできるようにするものであることを説明しています。 ただし、Linuxは現在サポートしていません。 また、Xamarinへ for .NET MAUIの後継的な役割と、.NET 6の下で.NET Coreと.NET Frameworkのさまざまなフレーバーを統合する方法について詳しく説明しています。
.NETのMAUIをVisual Studioでセットアップする
ビデオの時点では.NET MAUIはまだリリースされていなかったため、TimはVisual Studioのプレビュー版を使用して.NET MAUIプロジェクトのセットアップを実演しています。 プレビュー版のわずかな違いを強調し、リリース候補ビットの安定性について言及する。
新しい.NET MAUIプロジェクトを作成する
はじめに、Tim Coreyが新しい.NET MAUIプロジェクトの設定方法を示します。 以下は、彼のビデオで説明された手順です:
1.Visual Studioを開く: Visual Studioを開き、新しいプロジェクトを作成するオプションを選択することから始めます。
2.MAUIテンプレートの選択:プロジェクトテンプレートから、".NET MAUI App"、".NET MAUI Blazor App"、または".NET MAUI Class Library "を選択し、"Next "をクリックします。Timは.NET MAUI Appを使用しています。

3.プロジェクト設定を構成する:プロジェクト名を入力し、場所とソリューション名を選択します。

4.プロジェクトの作成:"作成"をクリックして、デフォルトの設定と必要なコードでプロジェクトを生成します。
このセットアップは、クロスプラットフォーム開発を調査するための基盤を提供し、Visual Studio によって、MauiProgram.cs、プラットフォーム固有のフォルダー、共有リソースなどの重要なコンポーネントを含む基本構造が生成されます。
プロジェクト構造と.NET MAUIコードを調べる
Timは、WPFやWinUIプロジェクトとの類似点を指摘しながら、プロジェクトの構造を探ります。
XAMLに精通していること
Timは、.NET MAUIがWPFやWinUIプロジェクトと同様に、デザインにXAMLを使用することを強調しています。
プロジェクト構造
Tim は MauiProgram.cs の構造について説明し、エントリ ポイント CreateMauiApp を持つ静的クラス MyProgram の使用が含まれていることを指摘しています。 これは他 for .NETプロジェクトと同様で、フォント、依存性注入、ロギングなどの設定があります。
対象フレームワーク
プロジェクトの対象は、Android、iOS、macOS(Catalyst)、Windows用 for .NET 6という複数のフレームワークです。 Windows 10(バージョン19041以上)とWindows 11に対応しています。
条件付きビルドとプラットフォーム
Timは、セミコロンで区切られた複数のフレームワークを扱うための、プロジェクトファイル内の条件文の使用について説明しています。 これにより、特定のプラットフォームをターゲットとし、プラットフォーム固有の依存関係を管理することができます。
プラットフォーム固有のコード
各プラットフォーム(Android、iOS、macOS、Tizen、Windows)のフォルダは、プラットフォーム固有のコードを管理します。 開発者は、プロジェクトファイルからそれぞれのターゲットとフォルダを削除することによって、プラットフォームを除外することができます。
ビルド プロセスと抽象化
.NET MAUIは、プラットフォーム固有の作業の多くを抽象化し、各プラットフォームのAPIを使用するようにコードをコンパイルします。これにより、各プラットフォームのネイティブなルック&フィールが保証されます。
コンフィギュレーションとアセット
Tim は、プラットフォーム固有の設定を処理する iOS 用の AndroidManifest.xml や Info.plist などの構成ファイルについて説明します。 特にiOSでは、これらのファイルを簡単に編集できるGUIツールが利用可能です。
プラットフォーム固有の機能を探る
Timは、プラットフォーム固有の機能の重要性と、.NET MAUIがそれらをどのように扱うかを強調します。 Platformsフォルダについては、プラットフォーム固有のコードを含めるために、サポートされているプラットフォームごとにサブフォルダが含まれています。
共有プロジェクトファイル
Timは次に、共有プロジェクトの構造について説明し、共有コードが一度だけ書かれ、複数のプラットフォームで実行される仕組みを説明します。 彼は、MainPage.xaml ファイルと MainPage.xaml.cs ファイルを調べて、UI に XAML が使用され、コード ビハインドに C# が使用される方法を示してこれを説明しています。
複数のプラットフォームでアプリケーションを実行する
パフォーマンスと外観を評価するには、複数のプラットフォームで.NET MAUIアプリケーションをテストすることが不可欠です。 ティムは、Windowsマシン、Androidエミュレータ、およびApple開発者アカウントを持つiOSデバイスでのテストを重視しています。
開発環境を設定する
ティムは、プラットフォームによって異なるセットアップの必要性について概説します。 Androidの場合は、Androidエミュレータをインストールしてください。 iOSの場合、年間約100ドルのAppleデベロッパーアカウントが必要です。
Windowsの開発者モードを有効にする
Windowsで開発者モードを有効にすることは、.NET MAUIアプリケーションをテストするために不可欠であり、Microsoft Storeを使わずにアプリケーションをサイドロードすることができます。

Windowsでのテスト
Timは、Windowsマシン上で.NET MAUIアプリをテストし、ホットリロード機能を利用してアプリケーションコードに変更を加え、更新をリアルタイムで確認する様子を実演しています。

Androidエミュレータでテストする
ティムは、Android 12を実行するGalaxy Nexusエミュレータをテストに使用し、エミュレータの起動、インストール、アプリケーションの起動のプロセスを説明します。

Windows版とAndroid版の比較
Tim氏は、両プラットフォーム上でアプリケーションを比較し、見た目の違いにもかかわらず、機能の一貫性に注目しています。

今後 for .NET MAUIとXamarinについて
.NET MAUIはMicrosoftによって完全にサポートされており、継続的な改善が期待されています。 その後継として、Xamarinプロジェクトは.NET MAUIにアップグレードできるため、開発者はスムーズに移行できます。
結論
Tim Coreyは、.NET MAUI、そのセットアップ、および機能の包括的な概要を提供します。 彼のビデオは、このフレームワークの探求に熱心な開発者にとって貴重なリソースです。 より深く掘り下げた実践的なコーディング例については、彼のYouTubeチャンネルIAmTimCoreyをご覧ください。また、iamtimcorey.comで利用可能なその他のリソースもチェックしてください。



