2022-04-04更新
當前 .Net 下主流的跨平台解決方案有:
前三者都使用 XAML 進行UI開發,對於 WPF 或 UWP 開發者有天然的親和力;
Avalonia 是最像 WPF 的.體驗了一下當前最新的正式版(0.10.18),感覺相比十幾個月以前有了很大的進步,至少把官方自己的 Demo 跑起來,各個UI元素都多點幾次后,沒發現什么問題.
Blazor 使用 Web 技術進行界面開發,運行在瀏覽器組件中.通過 Blazor Hybrid 可將 Blazor 嵌入到 MAUI WPF WinForm 等程序中.Blazor Hybrid 做桌面程序時並不要求每個程序都分別打包一個瀏覽器進去, 只要系統安裝有 WebView2 即可.總體來說與 Electron 類似.
簡單的對比一下支持的平台:
-
MAUI https://docs.microsoft.com/zh-cn/dotnet/maui/supported-platforms
-
UnoPlatform https://platform.uno/docs/articles/getting-started/requirements.html
-
Avalonia https://docs.avaloniaui.net/
-
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) | 支持 | 未找到資料 |