.Net 跨平台 UI 解決方案的嘗試筆記.


2022-04-04更新

當前 .Net 下主流的跨平台解決方案有:

  1. MAUI

  2. UnoPlatform

  3. Avalonia

  4. Blazor Hybrid

前三者都使用 XAML 進行UI開發,對於 WPF 或 UWP 開發者有天然的親和力;

Avalonia 是最像 WPF 的.體驗了一下當前最新的正式版(0.10.18),感覺相比十幾個月以前有了很大的進步,至少把官方自己的 Demo 跑起來,各個UI元素都多點幾次后,沒發現什么問題.

Blazor 使用 Web 技術進行界面開發,運行在瀏覽器組件中.通過 Blazor Hybrid 可將 Blazor 嵌入到 MAUI WPF WinForm 等程序中.Blazor Hybrid 做桌面程序時並不要求每個程序都分別打包一個瀏覽器進去, 只要系統安裝有 WebView2 即可.總體來說與 Electron 類似.

 

簡單的對比一下支持的平台:

  1. MAUI https://docs.microsoft.com/zh-cn/dotnet/maui/supported-platforms

  2. UnoPlatform https://platform.uno/docs/articles/getting-started/requirements.html

  3. Avalonia https://docs.avaloniaui.net/

  4. Blazor Hybrid 上面已經說了 MAUI WPF WinForm 等都可以將 Blazor 嵌入.

方案 iOS Android Win7 Win8 Win10 MacOS WebAssembly Linux
MAUI 11+ 5.0+ 不支持 不支持 支持(1809+) 10.15+ 不支持 由社區支持
UnoPlatform 8+ 5.0+ 僅Skia.WPF模式下支持
僅Skia.WPF模式下支持 支持 10.13+ 支持(實測性能拉垮) 支持
Avalonia 計划中 計划中 可運行但不提供官方支持或保證 支持 支持 10.13+ 不支持 支持
Blazor Hybrid 11+(參照MAUI) 5.0+(參照MAUI) 支持(已實測) 支持 支持 10.13+(參照MAUI) 支持 未找到資料

 

    PS:Avalonia 的文檔中所列出的支持平台不包含 iOS Android WebAssembly  但實際上已經可以創建這些類型的項目,編譯通過,並實際運行起來.不知道是文檔滯后了,還是功能尚未正式發布.可以參考其主代碼庫中的示例

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM