本文是個人結合自身需求選擇跨平台 UI 時進行的資料整理,帶有較強主觀性.
資料整理于 2021-10-17.
目前 .Net 下主流的跨平台解決方案有:
MAUI
UnoPlanform
Avalonia
三者都是使用 XAML 語言來描述界面,對于 WPF 或 UWP 開發者有天然的親和力.
簡單的對比一下支援的平台:
MAUI https://docs.microsoft.com/zh-cn/dotnet/maui/supported-platforms
UnoPlanform https://platform.uno/docs/articles/getting-started/requirements.html
Avalonia https://docs.avaloniaui.net/
方案
iOS
Android
Win7
Win10
MacOS
WebAssembly
Linux
10+
5.0+
不支援
支援
10.13+
非官方支援
8+
計劃中
MAUI 由于是微軟官方支援,理論上來說未來的可用資源會最多,支援力度也會最大,但在使用前需要仔細考慮以下問題:
産品是否需要支援 Win7,在國内還有大量的使用者在使用 Win7 且不會更新的情況下,是否抛棄這部分使用者.
基于微軟的一貫作風,說不定沒用幾年又會被推倒重來.
UnoPlanform 支援的平台最多,可以嘗試.
Avalonia 尚不支援移動平台,使用它得到的跨平台收益有限,且根據個人對多個版本的試用,發現 bug 太多,而且都是比較低級的 bug.用它來做項目風險實在太大.
基于以上原因,個人暫時選擇 UnoPlanform 作為主要研究方向.