什么是MAUI?MAUI和Xamarin之间有什么区别

u5rb5r59  于 12个月前  发布在  其他
关注(0)|答案(4)|浏览(367)

那么,Xamarin会发生什么。表单?

什么是多平台App UI?
MAUI和Xamarin有什么区别
在哪里可以生成MAUI项目?

wfveoks0

wfveoks01#

随着.NET 5的推出,微软开始了统一.NET平台的旅程,将.NET Core和Mono/Xamarin合并到一个基类库(BCL)和工具链(SDK)中,更多关于它的信息here
.NET MAUI是一个新的升级解决方案的名称,作为一个多平台应用程序UI框架,用于使用.NET为Android,iOS,macOS和Windows构建本地跨平台应用程序。它是Xamarin.Forms的演变,构建在它之上,成为并成为构建本机跨平台应用程序的新旗舰.NET解决方案。
对我个人来说,.NET团队将更加专注于这个框架的开发,而Xamarin.Forms团队已经在过去的一两年里对平台做出了巨大的改变和改进。
目前,GitHub存储库(2020年7月)与XF存储库基本相同,所有命名空间都是System.Maui,但将来情况会大不相同。正如他们在keynote和其他来源上承诺的那样:

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

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

  • 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的发布。表单将停止与功能和新的东西。
在.NET Maui完全可用并准备就绪后,Xamarin.Forms将继续获得12个月的支持。关于它的路线图和开发状态的更多信息可以在官方GitHub页面here上找到,整个wiki页面充满了关于未来开发的有用信息。
这里还有一个关于.NET MAUI的很好的问答,大卫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/

sxissh06

sxissh062#

更新:这是当时正确的旧答案。MAUI现已推出。我认为最显著的区别是MAUI基于最新的.NET 6。
在这一点上,Xamarin.Forms是一个成熟的框架,而MAUI是一篇博客文章。这使得它们很难被客观地比较。
总的来说,MAUI的想法是Xamarin.Forms的进一步发展。就我个人而言,我没有看到任何革命性的(甚至重要的)宣布。主要的区别是MAUI将是一个具有多个输出的单个项目,而不是每个平台的多个项目。在管理公共资产方面也应该有一些改进,因为通常将资产放在平台项目中而不是公共项目中,但即使是现在,Xamarin也可以做到这一点,所以很难说这是某种改进还是只是营销技巧。
对macOS的支持也应该从beta到生产。同样,很难说它是否会在测试版中有一些相当低质量的显着提升,或者只是一个营销技巧。

kqlmhetl

kqlmhetl3#

让我们从架构和历史开始,这可以解决大部分的差异。

Xamarin和MAUI的历史

  • Xamarin是在.Net Core之前推出的,基本上微软收购了Xamarin,因为它可以使用C#为Andriod和iOS编写代码。
  • Xamarin基于Mono基类库(BCL)。BCL库是允许您开发应用程序的库。
  • 同样,.Net Framework也是以基底类别程式库为基础,而基底类别程式库则不同于Mono BCL。因此,我们不能在不同的BCL和Mono BCL之间共享代码,这就产生了一个限制,即我们不能一次编写代码并在多个平台上使用它。
  • 后来.Net Core出现了,它允许我们编写可以在Windows、Android和iOS上运行的应用程序,但它仍然有自己的核心BCL。
  • 后来,微软提出了.Net标准的方法,它允许在不同的BCL之间共享代码,如.Net Core、.Net Framework或Xamarin的BCL。
  • 现在,微软已经决定迁移到一个.Net即.Net 6,不再有.Net框架,.Net核心。它是一个适用于所有类型应用程序的平台。

“沙玛琳的能耐"

  • Xamarin基于Mono BCL。“(Mono是.Net的原始开源版本)。
  • 允许为Android或IOS构建本机应用程序。这提供了连接到Android或IOS的本机功能的功能。
  • 注意:微软已决定在2022年11月之前取消对Xamarin的支持。

"现在来到MAUI"

  • .Net多平台应用程序UI
  • 与Xamarin类似,MAUI应用程序使用XAML和C#编写。
  • 请使用可跨平台使用的相同代码。
  • 在Xamarin中,我们为Andriod或IOS创建了单独的项目,但在MAUI中,您可以将单个项目结构与共享项目结合使用。
  • 即使MAUI中的Andriod或IOS只有一个项目结构,也可以为它们编写Native特定代码。
    MAUI体系结构和项目结构:(如果未加载图像:请使用以下代码:https://learn.microsoft.com/en-us/dotnet/maui/what-is-maui

100d1x

的字符串

Xamarin架构:(如果未加载映像:请使用以下代码:https://learn.microsoft.com/en-us/xamarin/get-started/what-is-xamarin


的字符串

agyaoht7

agyaoht74#

MAUI是下一代Xamarin Forms,具有更广泛的平台支持。第一个预览版将于2020年11月在.NET 5中提供,第一个生产版本将于2021年11月在.NET 6中提供。
之前
Xamarin Forms将在2021年引入MAUI后支持一年,然后将弃用MAUI。

相关问题