.Net 跨平台 UI 解决方案的选择.

  • A+
所属分类:.NET技术
摘要

本文是个人结合自身需求选择跨平台 UI 时进行的资料整理,带有较强主观性. 资料整理于 2021-10-17.

本文是个人结合自身需求选择跨平台 UI 时进行的资料整理,带有较强主观性.

资料整理于 2021-10-17.

当前 .Net 下主流的跨平台解决方案有:

  1. MAUI

  2. UnoPlanform

  3. Avalonia

    三者都是使用 XAML 语言来描述界面,对于 WPF 或 UWP 开发者有天然的亲和力.

简单的对比一下支持的平台:

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

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

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

方案 iOS Android Win7 Win10 MacOS WebAssembly Linux
MAUI 10+ 5.0+ 不支持 支持 10.13+ 不支持 非官方支持
UnoPlanform 8+ 5.0+ 支持 支持 10.13+ 支持 支持
Avalonia 计划中 计划中 支持 支持 10.13+ 不支持 支持
  • MAUI 由于是微软官方支持,理论上来说未来的可用资源会最多,支持力度也会最大,但在使用前需要仔细考虑以下问题:

    • 产品是否需要支持 Win7,在国内还有大量的用户在使用 Win7 且不会升级的情况下,是否抛弃这部分用户.

    • 基于微软的一贯作风,说不定没用几年又会被推倒重来.

  • UnoPlanform 支持的平台最多,可以尝试.

  • Avalonia 尚不支持移动平台,使用它得到的跨平台收益有限,且根据个人对多个版本的试用,发现 bug 太多,而且都是比较低级的 bug.用它来做项目风险实在太大.

基于以上原因,个人暂时选择 UnoPlanform 作为主要研究方向.