オールアバウト.NET MAUI ( + 15の新機能)🏅


マウイの意味.NETマルチプラットフォームアプリケーションのユーザーインターフェイスとは、単一のコードベースでネイティブデスクトップとモバイルアプリケーションを構築することができます..ネットマウイが実行されます.これは2021年11月にリリースされる予定です.
マイクロソフトによると、...ネットマウイは、パフォーマンスと拡張性のためのグループから再構築されたコントロールを持つXamarinフォームの進化です.

違いは何ですか。ネットマウイとxamarinフォーム?


で.ネットマウイ.NET 6、xamarinフォームの進化は、単一の新しい世界に統合されます.ネット
で.NET 6ネイティブアプリケーション開発の一部になります.ASPなどの他のフレームワークのような.NETコアは既に持っています.NET 5 .
イン.ネットマウイ、すべてのコードは、すべてのプラットフォームのプロジェクトを持っていたxamarinフォームと比較して単一のプロジェクトにあります.それは複雑さを減らして、それを全体的により良い開発者経験にしなければなりません.

🟢.ネットマウイ機能:基本から始めましょう


🟢サポート


NET 6は2021年11月にリリースされ、3年間サポートされます.プラットフォームの行列が大幅に拡張されている.NET 5 .
追加は以下の通りです:
  • アンドロイド.
  • IOS.
  • MacとMacの触媒、X 64とアップルシリコン(別名“M 1”).
  • Windows ARM 64(特にWindowsデスクトップ).
  • .NET 6 Debian container images are based on Debian 11 (“bullseye”), which is currently in testing.


    🟢 起動


    .NET MUIアプリケーションでは、次のように起動できるクラスを使用します.
  • パイプサービス登録、ハンドラ登録、またはアプリケーションカスタマイズプロセスへの設定方法.
  • カスタムhostbuilderを作成することができます.
  • 例えば👇
    public void Configure(IAppHostBuilder appBuilder)
    {     
      appBuilder = appBuilder         
     .UseCompatibilityRenderers()         
     .UseMauiApp<MyApp>(); 
    }
    
    デフォルトでは、何か特別なものをカスタマイズしたくない場合や、独自の依存関係のコンテナや何かを使いたい場合は、次のようにします.

    🟢 アクセシビリティ


    すべてのケースとプラットフォームでの動作の位置合わせに加えて混乱を避けるためにより多くのコントロールを追加し、アクセシビリティAPIを改善することはアクセシビリティのような重要性を持つセクションの1つの優先事項の一つです.
    <Entry     
      Text="Entry text TH"     
      FontSize="14"     
      SemanticProperties.Description="Description text"    
      SemanticProperties.Hint="Hint text"/>
    
    半概念の概念が追加されます.マイクロソフトは、スクリーンリーダーまたはキーボードナビゲーションを使用したときに何が起こるかを正しく解釈できるようにビューに余分な情報を追加する一連のプロパティについて話しています.

    🟢 ワークロードのインストール


    の一部として.NET Unifiedは、マイクロソフトは、SDKのワークロードの概念を導入した上で特定の開発者シナリオを有効にする.NET SDK以前のプレビューでは、IOSは、Macの触媒、MacOS、Android用の基礎的なSDKが有効になっていた.現在、彼らはマウイ、マウイデスクトップ、マウイモバイルとワークロードを導入しています.最初の建物のすべての必要なSDKを取得し、インストールします.NETマウイアプリケーション.
    近い将来、Visual Studio 2022はインストーラーでこれらを含みます.
    それらを使用する場合は、CLIを開き、インストールしたものをチェックします👇
    dotnet sdk check
    

    インストールされているかどうかを確認した後、どのように追加のワークロードが実行されているかを見ることができます👇
    dotnet workload list
    

    最後にインストールします.ネットマウイを実行する必要があります👇
    dotnet workload install maui
    

    🟡.ネットマウイ機能:UIとUX


    🟡共有フォント、画像、およびアプリケーションのアイコン


    フォントや画像を解決する1つの場所に配置することができます.ネットマウイは、ネイティブのターゲットにすべてのプラットフォームで動作するようになります.これらはあなたの*で追跡されます*.SharePageとShareFontとしてのcsproj.
    <ItemGroup>
        <SharedImage Include="appicon.svg" ForegroundFile="appiconfg.svg" IsAppIcon="true" />
        <SharedFont Include="Resources\Fonts\ionicons.ttf" />
    </ItemGroup>
    
    両方の場所にあるすべてのファイルを含めるワイルドカードを受け入れる.
    <ItemGroup>
        <SharedImage Include="appicon.svg" ForegroundFile="appiconfg.svg" IsAppIcon="true" />
        <SharedImage Include="Resources\Images*" />
        <SharedFont Include="Resources\Fonts*" />
    </ItemGroup>
    

    🟡 フォントスケーリング


    すべてのプラットフォーム間のすべてのコントロールは、デフォルトで有効になっているフォントのスケーリングを持っています.これは、あなたのアプリケーションのユーザーがOSのテキストスケーリングの設定を調整するとして、あなたのUIは自分の選択を反映します.これは、デフォルトでよりアクセス可能なアプリケーションを生成します.

    各コントロールには、FonTautoScalingEnabledを追加しても、Fontimagesourceやフォントのアイコンで動作します.FontSizeの設定は100 %のサイズで、ロックを解除するにはFonTautoScalingEnabledを設定します👇
    <VerticalStackLayout>
      <Label
        Text="Scaling disabled"
        FontSize="18"
        FontAutoScalingEnabled="False"/>
      <Label
        Text="Scaling enabled"
        FontSize="18"/>
    </VerticalStackLayout>
    

    🟡 新しいレイアウト


    また、マイクロソフトは、我々にそれが使われたレイアウトを言います...ネットマウイはザマリンです.フォームのレイアウト.彼らはすぐに画面上のユーザーインターフェイスを取得し、UIの40コントロールのライブラリを完了するに焦点を当てるためにアプローチを始めたと言う.
    同時に、彼らはxamarinのその長い7年を採用する新しいレイアウトマネージャアプローチに基づいて合理化されたレイアウトを作成しています.一貫性,性能,保守性を最適化するための形状設計訓練
    あなたが気づいたかもしれない最新版のうちの1つは、これらのレイアウトのデフォルトの間隔値のレベリングです.あなたがレガシーレイアウトを使用したならば、あなたはすでに以前にそこでセットされる異なる任意の値を知っています.ゼロはより明確な期待をセットし、あなたのデザインのニーズに最適なあなたの好みの値を設定するよう求められます.
    非常に簡単な方法は👇
    <ResourceDictionary>
      <Style TargetType="StackLayout">
        <Setter Property="Spacing" Value="6"/>
      </Style>
    <Style TargetType="Grid">
        <Setter Property="ColumnSpacing" Value="6"/>
        <Setter Property="RowSpacing" Value="6"/>
      </Style>
    </ResourceDictionary>
    

    🟡 ネイティブアラート


    各プラットフォームには、ユーザーに警告を表示するネイティブの方法があります.これらは、単純な情報ポップアップ、シンプルな入力フォーム、さらには、ユーザーを導くために複数のオプションを持つアクションシートをすることができます.
    これらは任意のページから入手できます.NETマウイアプリケーション.👇
    await DisplayAlert ("Alert", "You have been alerted", "OK");
    

    🟡 クリッピング


    ときにレイアウトやビューのクリッピング領域に図形を追加することができますコンテンツをマスクする必要があります.これの最も一般的な使用は、円画像を作ることです.

    🟡身振り


    ジェスチャー認識を使用すると、タップ、ピンチ、パン、強打を適用することができますドラッグアンドドロップ任意のビューのインスタンスに.XAMLで簡単に適用できます.
    <Grid>
      <Grid.GestureRecognizers>
        <TapGestureRecognizer NumberOfTapsRequired="2" Command="{Binding OnTileTapped}"/>
    </Grid.GestureRecognizers>
      <!-- Grid content -->
    </Grid>
    

    🟡 スプラッシュスクリーン


    モバイルプラットフォームでは、特にあなたの最初の画面をできるだけ早く表示するには、これは静的なスプラッシュ画面を実装することによって行われます..ネットマウイは今、それらをサポートするすべてのプラットフォームのスプラッシュ画面を記述する単一の場所を持っています.
    <MauiSplashScreen Include="Resources\appiconfg.svg" Color="#512BD4" />
    

    🟡 新しい制御ハンドラ


    彼らは、新しいハンドラーアプローチを実装する最初のコントロールとプロパティを導入しました.これらはボタン、ラベル、およびエントリ、スライダ、およびスイッチの部分的な実装を含んでいます.彼らは現在完全な実装を満たすためにプル要求を受け入れています、そして、いくつかの貢献者はすでに貢献しました.
    HelloMuiサンプルアプリケーションは現在、MacOS、IOSには、単一のプロジェクトから実行され、Androidの移植コントロールの現在の設定を紹介.

  • MacOS👇

  • IOS👇

  • アンドロイド👇

  • 🟠 .ネットマウイ:より良い改善


    🟠 マック触媒


    Mac OSを使用してMacOSデスクトップ用にプロジェクトに次のTargetFramework設定を追加できます.
    <TargetFrameworks>net6.0-android;net6.0-ios</TargetFrameworks>
    <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">$(TargetFrameworks);net6.0-maccatalyst</TargetFrameworks>
    

    🟠 シングルプロジェクトとWindows


    マイクロソフトは、最新の機能を採用する開発者のフィードバックとWindowsのサポートに基づいて単一のプロジェクトにいくつかの更新を行っている.
  • NuGetパッケージは.NET MUIワークロード( . csprojではtrue ).
  • つのプロジェクト解決は、きちんとした組織のための「プラットホーム」フォルダの中で個々のプラットホームを巣にします.
  • WindowsアプリSDK 0.8.1 RCに更新.市場から最新のVisual Studio 2022互換拡張を使用します.

  • 🔴 トップの.ネットマウイ


    🔴 .ネットホットリロード


    . NETホットリロードはあなたのライブ編集を可能にする新しい経験です.それが実行されている間、ネットマウイアプリのソースコードは、あなたのアプリケーションを再構築する必要がある回数を減らす.
    この機能をテストするには両方をインストールします.NET 6プレビュー4およびVisual Studio 2019バージョン16.11プレビュー1.WinUI 3ホストをターゲットにしたVisual Studioデバッガ(F 5)を介してアプリケーションを起動します.あなたのアプリケーションが実行されたら、すぐにコードの変更を行うには、新しいオプションを使用して、下に示すように私たちの新しい“適用コード変更”ボタンを使用してそれらを適用する必要があります.
    今後のリリース.ネットホットリロードもAndroid、IOS、およびMacOSで利用可能になり、我々はXAMLホットリロードとライブのビジュアルツリーを統合することがあります.

    🔹 結論


    ネットマウイは公式に行くために数ヶ月しか残っていない.マイクロソフトのプレビューで最新の機能は非常に強力です.現時点では、我々はまだそれを持っていると少し明らかにそれを大幅に開発者は、Web、コンソールやモバイルアプリケーションをプログラムを容易にする必要があります.
    あなたはどう思いますか.🤔
    --
    からDotnetsafer この記事を読んであなたの時間に感謝したいと思います.NET Blog あなたはもっと学ぶことができます.
    今すぐ無料でお試しください.NET obfuscator . また、Visual Studioから直接アプリケーションを保護することができます.NET Obfuscator Visual Studio Extension . また、その前に学ぶことができます.