.NET MAUI –微软统一平台UI开发的野心

在.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 - 微软统一平台UI开发的野心

MAUI 特性

.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

发表评论

登录后才能评论