個人的なメモ

Tomohiro Suzuki @hiro128_777 のブログです。Xamarin に関する事を中心に書いています。 Microsoft MVP for Development Technologies 2017- 本ブログと所属組織の公式見解は関係ございません。

.NET MAUI Preview 14 更新情報

.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)

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 認証フローを開始し、コールバックをリッスンします。


公式情報:Announcing .NET MAUI Preview 14 - .NET Blog
 
 

シェル 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)

公式情報:Implement image caching functionality for iOS by rachelkang · Pull Request #4515 · dotnet/maui · GitHub
 
 

すべてのパブリック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"

公式情報:Allow to use string to define StrokeShape in XAML by jsuarezruiz · Pull Request #3256 · dotnet/maui · GitHub
 
 

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