BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース .NET MAUI Preview 9 - ボーダ、コーナ、シャドウ、パフォーマンスの向上

.NET MAUI Preview 9 - ボーダ、コーナ、シャドウ、パフォーマンスの向上

原文(投稿日:2021/10/18)へのリンク

.NET Multi-platform App UI (.NET MAUI)は、AndroidやiOSといったモバイルからWindowsやmacOSのデスクトップアプリへと機能拡張した、Xamarin.Formsの進化版である。その最新バージョン、Preview 9が公開された。数多くの改善や、興味深い機能が開発者に提供されている。Preview 9は現在、.NET 6 RC2およびVisual Studio 2022のプレビュー版(Preview 5)で使用することができる。 

Preview 9は.NET MAULのバージョンのひとつである。開発者には今後も、最初のリリース候補が提供される2022年Q1まで、新たなPreviewバージョンが毎月、定期的に提供される。その次の四半期版は2022年Q2に、グローバルに利用可能なバージョンとして提供される予定である。Scott Hunters氏の記事には、次のように述べられている。

.NET MAUIは、2022年第1四半期のRC(Release Candidate)、第2四半期のGA(General Availability)に向けて、毎月、プレビュー版のリリースを続けます。

.NET MAUI Previewエディションの今月のリリースには、コントロールとレイアウトに対するボーダ、コーナ、シャドウのサポートが導入されている。それらに加えてもうひとつ、Preview 9の重点は、50を越えるコントロールやレイアウトを完成させることだった。Preview 9は現在、Androidアプリケーションの起動時間をパフォーマンス改善する.NET MAUIスタートアップトレーシングを含めて提供されている。

Android OS上での.NET MAUIアプリの起動時間に関するアップデートについては、Jonatham Peppers氏がResource.designer.cs用に作成した、興味深いGitHubプルリクエストがある。Microsoftの開発ブログにも記載されているように、Jonathan氏は、Androidリソースデザイナファイルを最適化することによって、400ミリ秒の改善を実現する方法を見つけたのだ。その投稿の下には、コミュニティによるいくつかのやり取りが続いていたが、これらのベンチマーク値については、David Ortinau氏が次のように回答している。

ベンチマークの報告は、それぞれを個別に見る必要があります。400ミリ秒というのは特定のアプリとコンフィギュレーションに対するものであって、他のアプリケーションやデバイスでの変更の影響はまた違うと思われます ...

.NET MAUIの月次リリースにはそれぞれ、UI関連の興味深いアップデートが数多く含まれている。今回のリリースでは、.NET MAUIの大部分のコントロールやレイヤに対して、ボーダを追加したり、コーナを描画したり、シャドウを付けることが可能になった。この機能は、iOS、Android、Windows、macOS、Tizen、Linuxを対象として、完全にC#で記述されたクロスプラットフォームなグラフィックスライブラリである、Microsoft.Maui.Graphicsライブラリを使って実現されており、ネイティブグラフィックエンジンをベースとした一貫性のあるUI描画APIを提供する。

レイヤやコントロールへのボーダの付加は、新しいBorderコントロールを使用することで可能になる。このコントロールは、コントロールやレイアウトをラップして、各コーナの半径を独立してコントロールする手段を提供する。コーナの半径にはThicknessタイプが使用される。

<Border 
    Grid.Row="2"
    Padding="16,8"
    Stroke="{StaticResource PrimaryBrush}"
    Background="#2B0B98"
    StrokeThickness="4"
    HorizontalOptions="Center">
    <Border.StrokeShape>
        <RoundRectangle CornerRadius="40,0,0,40"/>
    </Border.StrokeShape>
    <Label 
        Text=".NET MAUI Preview: 9"                
        FontSize="18"
        FontAttributes="Bold"
        TextColor="White"
        x:Name="CounterLabel" />
</Border>

アプリのユーザインターフェース部分に深みを加えることが、新しいShadow機能で簡単にできるようになった。任意のレイアウトやコントロールの他、イメージやシェイプにも使用することができる。

<Image>
    <Image.Shadow>
        <Shadow Brush="#000000" 
                Offset="20,20"
                Radius="40"
                Opacity="0.8"/>
    </Image.Shadow>
</Image>

いくつかのコンポーネントベンダがすでにMicrosoft.Maui.Graphicsの提供するサポートの使用を開始しており、.NET Multi-platform App UI用の新しいコントロールセットの最近のリリースへとつながっている。

最新プレビューで実装の更新されたコントロールの中で、その他に注目に値するものとしては、BoxViewIndicatorViewImageButtonWebViewなどがある。

プロジェクトの開発進捗状況や.NET MAUIの今後のリリースを確認するために、GitHub wiki roadmapで公式ロードマップが公開されている。

この記事に星をつける

おすすめ度
スタイル

BT