.NET MAUI Preview 14 の更新情報についてご紹介します。
なお、オリジナルの記事はこちらです。
devblogs.microsoft.com
.NET MAUI Preview 13 の更新情報はこちらです。
hiro128.hatenablog.jp
.NET MAUI の Xamarn.Forms からの改良ポイントはこちらです。
hiro128.hatenablog.jp
目次
- 目次
- Microsoft.Maui.Essentials(.NET MAUI Preview 14)
- シェル WinUI の実装を移行(.NET MAUI Preview 14)
- iOS の画像キャッシュ機能の実装(.NET MAUI Preview 14)
- すべてのパブリックAPIの名前を「Native」から「Platform」に変更(.NET MAUI Preview 14)
- Shape 固有のハンドラー実装 (.NET MAUI Preview 14)
- 文字列を使用して XAML でStrokeShapeを定義できるようにする (.NET MAUI Preview 14)
- WebView に Cookieプロパティを実装 (.NET MAUI Preview 14)
- デスクトップアプリケーション用の MenuBar を実装 (.NET MAUI Preview 14)
- Window RTL(Right-to-left writing) 対応 (.NET MAUI Preview 14)
Microsoft.Maui.Essentials(.NET MAUI Preview 14)
Microsoft.Maui.Essentials は Xamarin.Essentials の後継のクロスプラットフォーム API です。
以下の機能のネイティブ API のラッパーでであり、共有コードから簡単に利用できます。
(当該の機能のネイティブ実装がない場合は当然利用できません)
- 加速度計 – 3 次元空間内のデバイスの加速度データを取得します。
- アプリ アクション – アプリケーションのショートカットを取得して設定します。
- アプリ情報 – アプリケーションに関する情報を見つけます。
- アプリのテーマ –アプリケーションに対して要求されている現在のテーマを検出します。
- バロメーター – 負荷の変化のバロメーターを監視します。
- バッテリ – バッテリ レベル、ソース、および状態を簡単に検出します。
- クリップボード – クリップボード上のテキストをすばやく簡単に設定したり読み取ったりします。
- 色の変換機能 – System.Drawing.Color のヘルパー メソッド。
- コンパス – コンパスの変化を監視します。
- 接続 – 接続状態を確認し、変更を検出します。
- 連絡先 –デバイス上の連絡先に関する情報を取得します。
- シェイクの検出 – デバイスを振る動きを検出します。
- デバイス ディスプレイ情報 – デバイスの画面のメトリックと向きを取得します。
- デバイス情報 – デバイスの詳細を簡単に確認します。
- 電子メール – 電子メール メッセージを簡単に送信します。
- ファイル ピッカー - ユーザーがデバイスからファイルを選択できるようにします。
- ファイル システム ヘルパー – アプリ データにファイルを簡単に保存します。
- 懐中電灯 – 懐中電灯のオン/オフを簡単に切り替える方法です。
- ジオコーディング – ジオコードとリバース ジオコードのアドレスおよび座標。
- 位置情報 – デバイスの GPS 位置情報を取得します。
- ジャイロスコープ – デバイスの 3 つの主軸の周りの回転を追跡します。
- 触覚フィードバック – クリックと長押しの Haptic を制御します。
- ランチャー – アプリケーションがシステムで URI を開くことができるようにします。
- 磁力計 – 地球の磁場を基準としたデバイスの向きを検出します。
- メイン スレッド – アプリケーションのメイン スレッドでコードを実行します。
- マップ – 特定の場所にマップ アプリケーションを開きます。
- メディア ピッカー – ユーザーが写真やビデオを選択したり、撮影したりできるようにします。
- ブラウザーを開く – ブラウザーで特定の Web サイトをすばやく簡単に開きます。
- 向きセンサー – 3 次元空間内のデバイスの向きを取得します。
- アクセス許可 – ユーザーからのアクセス許可を確認して要求します。
- 電話ダイヤラー – 電話ダイヤラーを開きます。
- プラットフォーム拡張 – Rect、Size、Point を変換するためのヘルパー メソッド。
- ユーザー設定 – 永続的なユーザー設定をすばやく簡単に追加します。
- スクリーンショット – アプリケーションの現在の表示をキャプチャします。
- セキュリティで保護されたストレージ – データを安全に格納します。
- 共有 – 他のアプリにテキストや Web サイトのリンクを送信します。
- SMS – 送信用の SMS メッセージを作成します。
- テキスト読み上げ – デバイス上のテキストを音声化します。
- 単位変換機能 – 単位を変換するためのヘルパー メソッド。
- バージョンの追跡 – アプリケーションのバージョンとビルド番号を追跡します。
- バイブレーション – デバイスをバイブレーションさせます。
- Web Authenticator - Web 認証フローを開始し、コールバックをリッスンします。
シェル WinUI の実装を移行(.NET MAUI Preview 14)
シェルWinUIの実装を移行し、シェル以外のアプリと同じコンポーネントの約90%を再利用するようにしました。
公式情報:Shell WinUI Handler by PureWeen · Pull Request #4501 · dotnet/maui · GitHub
シェルはほとんどのアプリケーションで必要となる基本的な UI 機能を提供する Page です。
シェルについての詳細は以下を参照ください。
docs.microsoft.com
iOS の画像キャッシュ機能の実装(.NET MAUI Preview 14)
すべてのパブリックAPIの名前を「Native」から「Platform」に変更(.NET MAUI Preview 14)
例)
- NativeView --> PlatformView
- NativeImage --> PlatformImage
- NativeArrange --> PlatformArrange
公式情報:Renaming public APIs Native --> Platform by rachelkang · Pull Request #4599 · dotnet/maui · GitHub
Shape 固有のハンドラー実装 (.NET MAUI Preview 14)
以下の Shape に対する固有のハンドラーを実装しました。
- Line
- Rectangle
- RoundRectangle
- Path
- Polyline
- Polygon
公式情報:Shapes Handlers by jsuarezruiz · Pull Request #4472 · dotnet/maui · GitHub
Xamarin.Forms のレンダラーアーキテクチャは、.NET MAUI ではハンドラーアーキテクチャーに進化しました。
ハンドラーについての詳細は以下を参照ください。
docs.microsoft.com
文字列を使用して XAML でStrokeShapeを定義できるようにする (.NET MAUI Preview 14)
TypeConverter を追加して、StrokeShape を以下ように設定できるようにしました。
StrokeShape="Rectangle" StrokeShape="Ellipse" StrokeShape="Polygon 0 48, 0 144, 96 150, 100 0, 192 0, 192 96, 50 96, 48 192, 150 200 144 48" StrokeShake="RoundRectangle 20, 0, 20, 0"
WebView に Cookieプロパティを実装 (.NET MAUI Preview 14)
公式情報:Implement Cookies property in WebView by jsuarezruiz · Pull Request #4419 · dotnet/maui · GitHub
デスクトップアプリケーション用の MenuBar を実装 (.NET MAUI Preview 14)
公式情報:Menubar by PureWeen · Pull Request #4839 · dotnet/maui · GitHub
Window RTL(Right-to-left writing) 対応 (.NET MAUI Preview 14)
FlowDirection を IWindow に追加し、ユーザーが Window のフロー方向を指定できるようにします。
デスクトップアプリで、閉じる、開く、最小化ボタンをRTLにしたい場合に有効です。
公式情報:Windows FlowDirection by PureWeen · Pull Request #4936 · dotnet/maui · GitHub