Uno Platformチームは開発生産性とクロスプラットフォーム・パフォーマンスを向上させるための広範な強化を導入し、Uno Platform 6.0とUno Platform Studioの一般提供を発表した。
公式ブログ投稿によると、Uno Platform StudioはオープンソースのUno Platformの上に構築されており、開発者が単一のコードベースを使用して.NETアプリケーションをより効率的に構築および出荷するための簡単な開発ワークフローを提供する。
主なハイライトの一つはHot Design、一般提供に達したランタイムビジュアルデザイナーである。Hot Designは開発者が実行中のアプリケーションを一時停止し、UIをビジュアル編集、再起動せずにセッション再開できるようにする。このアプローチはアプリケーション内で複雑なUIのライブ編集を直接提供することが、従来のWYSIWYGツールとは異なる。
Uno Platform 6.0は既存のネイティブ実装と並行して動作する、すべてのプラットフォーム―iOS、Android、WebAssembly、Windows、macOS、Linuxを含む―に対応した統一されたSkiaベースのレンダリングエンジンのサポートを導入する。このアプローチは説明したように、デバイスに跨ってハードウェアアクセラレーションを使って高性能レンダリングを実現し、適用可能な場合にはネイティブレンダリングパスも認める。
パフォーマンスと改善に関して、チームは次のように述べている:
Uno Platform 6.0はこれまでで最高かつ最速のUno Platformで新しい統合レンダリングエンジンが搭載されており、アプリ起動時間が大幅に改善され、UIレンダリングのパフォーマンスが飛躍的に向上しています-フットプリントが最大75%減少、起動時間が60%短縮、メモリ使用量が30%減少、実行速度が45倍高速化。
Unoチームによると起動時間が大幅に改善された。公式ブログ投稿ではiPhone 13でのテストで1.5秒から0.49秒に短縮されたことが示されている。レンダリングエンジンはアプリケーションのフットプリントを最大75%削減、起動速度を60%向上、メモリ使用量を30%削減、実行速度を最大45倍向上させている。
さらにこのリリースでは新しいコンポーネントと機能のサポートが導入されている。クロスプラットフォームのMediaPlayerElementが利用可能になり、libvlcやネイティブプレーヤーなどのプラットフォーム固有のバックエンドを使用してすべてのプラットフォームでビデオ再生を可能にする。WebView2はWebコンテンツへのナビゲーションとJavaScriptとの統合を可能にし、Linux向けの新しいGTK4ベースの実装を含むすべてのターゲットでサポートされている。
アプリケーションサイズとデプロイメントの最適化に関しても大きな進展があった。WindowsバックエンドはWPFの代わりにWin32実装をサポートし、完全なILトリミングを可能にし、自己完結型アプリのサイズを100MB削減する。iOSおよびデスクトップターゲット向けの新しいXAMLおよびリソーストリミングサポートと組み合わせることで、空のアプリサイズはWindowsで74%、iOSで21%削減されたと報告されている。これらの削減により、AOT(Ahead-of-Time)コンパイルを使用した場合のビルド時間が35%まで改善される。
このリリースによりチームはファイルシステムアクセス、センサー、メディア処理、ハードウェアデバイスなどの非UIクロスプラットフォームAPIを提供する、新しいUno.WinRTパッケージも導入した。UIと非UIの機能を分離することで、開発者はUI依存を含まないランタイム機能にのみ依存するライブラリを構築でき、クロスプラットフォームターゲティングをシンプル化し、パッケージのオーバーヘッドを削減することができる。
Unoチームによるとプラットフォームは引き続きオープンソースであり、Apache 2.0ライセンスの下で無料である。DataGridやWebView2などの開発ツールや重要なコンポーネントを含むコア機能はオープンなまま保証される。Uno Platform Studioなどのプレミアムツールは、オプションの商用サポートと拡張を提供しつつ、開発モデルを維持している。
このリリースのその他の変更には自動アプリパッケージングの改善、UWPサポートの廃止、ツール統合の強化などが含まれている。
興味のある読者は公式Uno Platformウェブサイトですべての更新と変更を詳細に記載したリリースノートを確認できる。