MAUI来了

      各位很久没有和大家说端的开发了,技术发展特别快,我不知道还有多少国内的开发人员还坚守用Xamarin,但是.NET的迭代变化还是让国内.NET社区热闹起来了。去年虽然疫情,但微软还是在Build上发布了MAUI。微软这次把MAUI完全整合到了.NET 6里面,让跨平台开发在.NET下真真正正成为原生。比较遗憾的反而是名字,不过如果你看看MAUI的全名Multi-platform App UI就能理解微软的用意了。但很多人会问,这个新的演变,有多少变化,下面我解答一下,让大家有一个初步概念,希望大家也可以拥抱下MAUI。
     

MAUI来了_第1张图片

 

一 什么是MAUI

从大的概念来说,是一套跨平台,原生的客户端解决方案。这和Xamarin Forms是一致的,但改进了Xamarin Forms几个问题 

1. 当我们创建Xamarin时,除了创建共享的逻辑和页面外,不同平台是分开项目的,而在MAUI是整合到一个项目,以文件夹分开对应的平台。在开发上有人喜欢旧有的方式,但我个人认为这更有利于客户端界面的开发。毕竟都是做UI的事情。

                 MAUI的项目结构                                         Xamarin Forms的项目结构                                

MAUI来了_第2张图片    MAUI来了_第3张图片

2.对于控件的绘制上,我觉得微软在参考了flutter后,重新优化了控件

MAUI来了_第4张图片

3.一个重新构建的页面结构以往基于ContentPage,现在新增IPage对页面进行绘制

注:更多变化大家可以看看https://www.youtube.com/watch?v=qbHO8J3bId0
 

二 如何创建MAUI项目


MAUI现在也可以通过命令行做创建,因为现在处于preview 3的状态,所以如果你要通过命令行创建MAUI,除了要安装.NET 6 Preview 3 外,还需要安装.NET MAUI Check

dotnet tool install -g redth.net.maui.check

.NET MAUI Check 现在有几个作用

1 可以检查MAUI对相关平台SDK是否齐全通过检查执行以下命令就可以完成相关检查

maui-check

MAUI来了_第5张图片

 

2 提供MAUI项目的创建模版

当所有支持条件都检查完后,你就可以通过命令行去完成MAUI项目的创建

dotnet new maui -n HelloMaui

 

3 你可以通过MAUI Check去做一些定制工作,例如Nuget设定或者相关SDK环境设定,还有你可以获取最新的开发环境支持,因为MAUI还在preview阶段,所以相关依赖的库需要重新定向Nuget

maui-check config --nuget-sources

MAUI来了_第6张图片

关于.NET MAUI Check的更多实用你可以参考https://github.com/redth/dotnet-maui-check

三 运行与调试

官方去年已经说了MAUI可以和Visual Studio Code结合使用,但现在相关插件功能还在路上,所以暂时不能完整使用,你现在可以通过脚本进行调用

dotnet build -t:Run -f net6.0-android
dotnet build HelloMaui -t:Run -f net6.0-ios
dotnet build HelloMaui -t:Run -f net6.0-maccatalyst

 

四 小结


MAUI在11月会和.NET 6一起正式发布,现阶段还是很初期,算是一个非常新的开始,当然你说是不是旧酒新瓶呢?但作为一个.NET 6的主推功能推出,也是非常重磅。这里大家会和同类型的产品Flutter比较,就看你的使用场景和团队的需求了,其实两者差不多。随技术发展,国内的技术生态,MAUI要怎么走还很难说,需要大家共同努力。不过很认真说,这个主动权还是微软。
 

你可能感兴趣的:(Xamarin,MAUI,MAUI)