当前位置:首页 > 芯闻号 > 充电吧
[导读]5月21日消息 在Build 2020开发者大会上,微软宣布推出 .NET 官宣跨平台 UI 框架 MAUI,全称是 .NET Multi-platform App UI。正式版将在 .NET 6 和

5月21日消息 在Build 2020开发者大会上,微软宣布推出 .NET 官宣跨平台 UI 框架 MAUI,全称是 .NET Multi-platform App UI。正式版将在 .NET 6 和大家见面。

微软介绍,你可以使用.NET进行任何构建。这是成千上万的开发人员选择.NET作为其职业生涯平台,而微软还为其业务进行投资的主要原因之一。使用.NET 5,微软开始了统一.NET平台的旅程,将.NET Core和Mono/Xamarin集成在一个基类库(BCL)和工具链(SDK)中。

.NET MAUI考虑到了跨多个平台使用的许多设备,从Android、iOS到Windows、macOS。

.NET MAUI是日益流行的Xamarin.Forms工具演变,Xamarin.Forms已经有6年历史了。多年来,UPS、Ernst&Young和Delta等公司一直在利用.NET上Xamarin的移动专业知识来推动其业务发展。它帮助小型企业最大化其95%以上代码共享的开发投资并击败竞争对手进入市场。.NET MAUI将这一成功扩展到了移动设备上,从而囊括了桌面设备,这是在两者之间构建多平台应用程序的最佳方法,尤其是微软的新设备(例如新的Surface Duo)。

单一项目开发人员经验

.NET MAUI简化了.NET开发人员的选择,提供了一个单一堆栈来支持所有现代工作负载:Android,iOS,macOS和Windows。每个平台和UI控件的原生功能都可以通过一个简单的跨平台API触手可及,你可以在提供不妥协的用户体验的同时共享比以前更多的代码。

.NET MAUI的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和跨平台工具。.NET MAUI将项目结构简化为一个针对多个平台的项目。这意味着你只需单击一下鼠标,便可以轻松地将其部署到所需的任何目标,包括台式机、仿真器、模拟器或物理设备。使用内置的跨平台资源,你可以将任何图像、字体或翻译文件添加到单个项目中,.NET MAUI将自动设置本机挂钩,以便你可以进行编码。最后,你将始终可以访问本机底层操作系统API,并且通过特定于新平台的集成将比以往更加轻松。在平台下,你可以添加特定操作系统的源代码文件并访问本机API。有了.NET MAUI,一切都集中在一个地方,你可以用它来保持生产力。

这提供了:

一个针对多个平台和设备的项目。

一个位置来管理字体和图像等资源。

多目标组织您特定于平台的代码。

现代应用程式模式

.NET的愿景的一部分是在开发人员的个人喜好方面为开发人员提供选择,以便使用.NET可以提高工作效率。这表明你在哪个IDE中,包括Visual Studio 2019,Visual Studio for Mac甚至是Visual Studio Code,.NET MAUI将在所有这些版本中可用,并支持现有的MVVM和XAML模式以及将来的功能,例如使用C#甚至是Blazor的Model-View-Update(MVU)。

MVVM

Model-View-ViewModel(MVVM)和XAML是.NET开发人员几十年来的主要模式和实践,它们是.NET MAUI中的一流功能。这将继续发展,以帮助你高效地构建和维护生产应用程序。

    
    

MVU

此外,微软使开发人员能够编写流畅的C#UI并实现日益流行的“模型-视图-更新”(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 ++)    )};public string Text { get; set; } = "Click me";int count = 0;void ExecuteClickCommand (){    count++;    Text = $"You clicked {count} times.";}

这种模式非常适合热重载,如下面所示,它具有从C#即时热重载的新增样式,渐变和字体。

MVVM和MVU都提供相同的原生应用程序,性能和平台保真度。开发人员将能够选择最适合其偏好和用例的样式。

从Xamarin.Forms过渡到.NET MAUI

Xamarin.Forms开发人员将使用他们已经了解和喜爱的所有相同控件和API来开始在.NET MAUI中使用新项目运行。随着越来越接近.NET MAUI的发布,为了帮助开发人员将现有应用平稳地过渡到.NET MAUI,微软打算提供类似于今天迁移到.NET Core的尝试转换支持和迁移指南。

.NET MAUI时间线

微软将在今年晚些时候开始发布.NET MAUI预览版,并于2021年11月开始提供.NET 6的总体可用性。.NET MAUI将以Xamarin.Forms所采用的相同的6周节奏发布。微软已经在GitHub上发布了MAUI路线图,并邀请你今天就加入!

Xamarin 和 Xamarin.Forms的下一步是什么

获悉,作为.NET统一的一部分,Xamarin.iOS和Xamarin.Android将作为.NET for iOS和.NET for Android成为.NET 6的一部分。由于这些绑定是Apple和Google发行SDK的投影,因此此处没有任何更改,但是将更新构建工具,目标框架别名和运行时框架别名,以匹配所有其他.NET 6工作负载。微软致力于为.NET开发人员提供最新的移动SDK的最新信息,这是.NET MAUI的基础,并且始终如一。当.NET 6发行时,期望以其当前形式发行Xamarin SDK的最终版本,并将提供一年的服务。那时所有的现代工作都将转移到.NET 6。

Xamarin.Forms将于今年晚些时候发布新的主版本,并继续在2021年11月通过.NET 6 GA每6周发布次要版本和服务版本。Xamarin.Forms的最终版本将在交付后的一年内提供服务,并且所有现代作品都将转移到.NET MAUI。

通过全新的存储库dotnet/maui,踏上.NET MAUI的旅程。

https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

「人工智能浪潮下的中国制造」论坛顺利召开 上海2024年4月17日 /美通社/ -- 4月12日,由百年名校法国里昂商学院主办,斯巴诺萨设计承办,福州东湖数字小镇,福建亚太合会数字经济专委会协办的"中法建交6...

关键字: 微软 雷诺 AI 中国制造业

4月21日消息,Meta发布超级彪悍的大语言模型Llama 3之后,微软也很快推出了自己的新一代WizardLM2 8x22B,号称迄今最强大,完全超越Claude 3 Opus&Sonnet、GPT-4等竞品,而且开源...

关键字: 微软 AI 机器AI 比尔盖茨

近日媒体Business Insider透露称,微软目前正在疯狂囤货GPU,目标在2024年12月前达到180万片。微软本次采购的 GPU 主要来自英伟达公司,不过微软也计划采购 AMD 等其它公司的 GPU 进行扩充。

关键字: 微软 GPU

业内消息,微软公司宣布将向阿联酋顶级人工智能公司G42投资15亿美元,以支持这家总部位于阿布扎比的公司缩减在中国业务的承诺。此前该公司表示将减少在中国的业务,并承诺投资于主要的西方市场。

关键字: 微软 G42

4月17日消息,近日微软硬件设计领域的重量级人物、Surface设计团队负责人Ralf Groene在领英上发帖宣布退休。

关键字: 微软 AI 机器AI 比尔盖茨

英国竞争与市场管理局(CMA)日前表示,对美国科技公司可能会操纵全球AI市场感到担忧。

关键字: AI 谷歌 苹果 微软 Meta

英特尔近日向媒体透露,微软的Copilot AI将很快运行在本地PC上,而不是依赖云端。

关键字: 英特尔 微软 Copilot AI

因为在AI上掌握先发优势,微软老树开新花,成为科技界当红明星。它的市值已经达到3.2万亿美元,是全球市值最高的企业。

关键字: 谷歌 苹果 AI 微软 OpenAI

融入AI功能的聊天机器人助手如今被各种组织用于节省时间和提高生产力,是企业寻求采用生成式AI最容易实现的成果之一。

关键字: 微软 copilots AI机器人

你也许听过“Magnificent Seven”的大名。没听过?无妨,它指的是2023年美股市值最高的7家企业,也就是微软、苹果、英伟达、Alphabet、亚马逊、Meta、特斯拉。

关键字: 微软 苹果 英伟达 Alphabet 亚马逊 Meta 特斯拉
关闭
关闭