在.NET 5中,微软已经消除了 .NET Core 和 .NET Framework 的区别,这一点非常好,同一份代码-除了和界面编程有关的-可以运行在不同的平台上。
目前.NET 领域的UI开发五花八门:有.NET Framework,Xamarin.Forms,WPF,虽然在各自的领域都能工作,但显然这样是不合理,也不经济的。那么现在有统一UI开发的计划也是顺理成章的:MAUI。
MAUI 是 Multi-platform App UI 的缩写,它的出生简化了.NET开发人员的选择,提供了一个单一堆栈来支持所有现代工作负载:Android,iOS,macOS和Windows。
.NET MAUI的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和跨平台工具。.NET MAUI将项目结构简化为一个针对多个平台的项目。这意味着只需单击一下鼠标,便可以轻松地将其部署到所需的任何目标,包括台式机,仿真器,仿真器或物理设备。使用内置的跨平台资源,可以将任何图像,字体或翻译文件添加到单个项目中,.NET MAUI将自动设置本机挂钩,以便可以进行编码。最后,开发人员将始终可以访问本机底层操作系统API,并且通过特定于新平台的集成将比以往更加轻松。在平台下,开发人员可以添加特定操作系统的源代码文件并访问本机API。
MVVM:
Model-View-ViewModel(MVVM)和XAML是.NET开发人员数十年来的主要模式和实践,它们是.NET MAUI中的一流功能。这将继续增长和发展,以帮助高效地构建和维护生产应用程序。
<StackLayout>
<Label Text="Welcome to .NET MAUI!" />
<Button Text="{Binding Text}"
Command="{Binding ClickCommand}" />
StackLayout>
public Command ClickCommand { get; }
public string Text { get; set; } = "Click me";
int count = 0;
void ExecuteClickCommand ()
{
count ;
Text = $"You clicked {count} times.";
}
MVU
另外MAUI还提供了类似近年热门框架的功能“模型-视图-更新”MVU模式。MVU促进数据和状态管理的单向流程,以及通过仅应用必要的更改来快速更新UI的代码优先开发经验。
下面是用.NET MAUI编写的MVU样式的基本计数器示例:
readonly State count = 0;
[Body]
View body() => new StackLayout
{
new Label("Welcome to .NET MAUI!"),
new Button(
() => $"You clicked {count} times.",
() => count.Value )
)
};
React,Vue.js,Flutter 等无数的开发框架,都带有这样的特色。支持了MVU,让MAUI能实现热重载功能(Hot Reload),我们可以在修改了C#代码后实时看到相关的修改反应,比如修改字体大小,立即在预览界面看到相关的响应。
MVVM和MVU都提供相同的本机应用程序,性能和平台保真度。开发人员将能够选择最适合他们的喜好和用例的样式。
目前MAUI还未发布预览版,最终可用版本在2021年的11月,发布.NET 6 时全面可用,非常期待那天的到来。
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/tech/21668.html