什么是毛伊? MAUI 和 Xamarin 有什么区别

Posted

技术标签:

【中文标题】什么是毛伊? MAUI 和 Xamarin 有什么区别【英文标题】:What is MAUI? and what are differences between MAUI and Xamarin 【发布时间】:2020-10-25 00:39:17 【问题描述】:

那么,Xamarin.Forms 会发生什么?

什么是多平台应用 UI?

MAUI 和 Xamarin 有什么区别

我们可以在哪里生成 MAUI 项目?

【问题讨论】:

博客文章涵盖了所有内容devblogs.microsoft.com/dotnet/… 我们将在今年晚些时候开始发布 .NET MAUI 预览版,并计划在 2021 年 11 月与 .NET 6 一起发布。.NET MAUI 将在同一时间发布Xamarin.Forms 的 6 周节奏。我们已经在 GitHub 上发布了 .NET MAUI 路线图,今天邀请您加入我们! 【参考方案1】:

借助 .NET 5,Microsoft 开始了统一 .NET 平台的旅程,将 .NET Core 和 Mono/Xamarin 整合到一个基类库 (BCL) 和工具链 (SDK) 中,更多信息 here。

众所周知,.NET MAUI 是一个新的升级解决方案的名称,它是一个多平台应用程序 UI 框架,用于使用 .NET 为 androidios、macOS 和 Windows 构建本机跨平台应用程序。它是 Xamarin.Forms 的演变,建立在它之上,成为并成为用于构建本机跨平台应用程序的新旗舰 .NET 解决方案。

对我个人而言,非常棒的是 .NET 团队将更加专注于该框架的开发,而 Xamarin.Forms 团队已经非常出色,他们在过去一两年中对平台做出了巨大的改变和改进。

目前,GitHub 存储库(2020 年 7 月)与 XF 存储库几乎相同,所有命名空间都是 System.Maui,但未来情况会大不相同。正如他们在主题演讲和其他来源上所承诺的那样:

一个针对多个平台和设备的项目 一个管理字体和图像等资源的位置 多目标来组织您的平台特定代码

它还将为您在不同的现代模式和框架中构建应用程序提供支持,例如:

MVVM MVU RxUI

使用 .NET MAUI 创建和开发应用的工具有:

Visual Studio Visual Studio for Mac Visual Studio 代码

由于 .NET Maui 将更多地参与整个 .NET 开发工具,因此将添加对 .NET Core CLI 的支持。换句话说,这意味着我们将能够从命令行创建一个新项目:

dotnet new maui

.NET Maui 的主要目标是:

提高应用性能 提高控件扩展性的简单性 提高贡献的简单性 启用开发人员选项以使用模型-视图-更新 (MVU) 和 Blazor

在过去的一两年中,Xamarin.Forms 有一个非常频繁的新版本周期,而且这种情况肯定会继续下去。该团队将继续努力,但同时 .NET Maui 将变得更加成熟,并且随着 .NET 6 的发布,Xamarin.Forms 将停止使用功能和新东西。

在 .NET Maui 完全可用并准备就绪后,Xamarin.Forms 将继续获得 12 个月的支持。更多关于路线图和开发状态的信息可以在官方 GitHub 页面here 上找到,整个 wiki 页面充满了有关未来发展的有用信息。

这里还有一个关于 .NET MAUI 的精彩问答,David Ortinau 在 InfoQ here.

更新:2021 年 9 月 15 日:

“.NET 团队一直在与社区一起努力开发,我们致力于发布它。不幸的是,.NET MAUI 将无法在 11 月与 .NET 6 GA 一起投入生产。我们希望“为了在第一天为我们的用户提供最佳体验、性能和质量并做到这一点,我们需要推迟时间表。我们现在的目标是在 2022 年第二季度初推出 .NET MAUI GA。”来源:https://devblogs.microsoft.com/dotnet/update-on-dotnet-maui/

【讨论】:

视频中也解释了上面的所有内容(如果您喜欢观看):youtu.be/qbHO8J3bId0【参考方案2】:

此时 Xamarin.Forms 是一个成熟的框架,而 MAUI 是一个博客文章。这使得它们很难被客观地比较。

总的来说,MAUI 的想法是进一步发展 Xamarin.Forms。就我个人而言,我没有看到任何革命性的(甚至是重要的)宣布。主要区别在于 MAUI 将是具有多个输出的单个项目,而不是每个平台的多个项目。在管理公共资产方面也应该有一些改进,因为通常将资产放在平台项目中而不是公共项目中,但是即使现在在 Xamarin 中大部分都是可能的,所以很难说这是否是某种改进或者只是一个营销技巧。

此外,对 macOS 的支持也应该从测试版进入生产阶段。同样,很难说这会是对相当低质量的测试版的显着提升,还是只是一种营销技巧。

【讨论】:

【参考方案3】:

MAUI 是具有更广泛平台支持的下一代 Xamarin 表单。第一个预览版将于 2020 年 11 月在 .NET 5 中提供,第一个生产版本将在 2021 年 11 月随 .NET 6 一起提供。

在 2021 年引入 MAUI 后,Xamarin 表单将受支持一年,然后将被弃用以支持 MAUI。

【讨论】:

以上是关于什么是毛伊? MAUI 和 Xamarin 有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

最新.NET MAUI有什么惊喜?

maui 发布时间

[MAUI] 开篇-初识MAUI

[MAUI] 开篇-初识MAUI

MAUI 移植 Xamarin.Forms 自定义渲染器

.NET MAUI 正式发布,再见了 Xamarin.Forms