.NET MAUI RC1 体验

前言

.NET MAUI已经传了很久了,体验具体如何,我也一直没有尝试成功,4月13日,微软终于跟随VS2022 预览版3 发布了MAUI的候选版本,看了一圈网上的相关介绍,都是在翻译官方的博客内容,很少有实际体验的文章,于是我决定来体验一波。

环境

运行环境:.Net 6
开发环境:VS2022 17.3 (必须是预览3+)

使用

在安装了VS2022 17.3 预览版本后,创建项目里直接有 .NET MAUI(预览),创建过程跟创建WPF基本一样
在这里插入图片描述
初始化后,就有了四个平台的预览代码了:
在这里插入图片描述
直接生成桌面程序,很快就跑起来了
在这里插入图片描述
写过WPF的都能看懂,XAML的UI很好理解。
接下来就是重头戏,刚好手边有一个iphone测试机,于是决定测试一下,生成在ios版本。
要运行在ios环境里需要先配置一波,这里强烈建议阅读官方的文档,里面有详细的配置步骤及各种解决方案:什么是.NET MAUI

由于编译ios程序需要apple的开发者账号,以及需要一台mac电脑远程编译

1、先在vs2022里配置apple开发者账户

选项-设置-Xamarin-Apple帐户
在这里插入图片描述

先创建证书,再下载所有配置文件
在这里插入图片描述
打开项目属性-ios-bundle signing里设置
在这里插入图片描述
这样就把vs2022环境配置好了

2、需要与mac匹配上

在这里插入图片描述
这个匹配过程官方有两种方案:
需要mac电脑打开远程登录功能,设置允许远程登录,及关闭防火墙,这个可以自行百度一下mac 的设置流程
1、是直接匹配,在匹配的过程,vs2022会自动下载需要的编译SDK(尝试过,未成功)
2、在mac 安装vs2022 预览版 for mac (亲测有效)
上图就是匹配成功的显示。
接下来,连接上iphone(需要安装好apple相关的驱动程序,一般是安装一下itunes就可以了),就能显示iphone设备了
在这里插入图片描述
然后直接编译,成功,在iphone上就可以看到该app了跟PC端的页面一模一样。
由于苹果的限制,IOS系统中不允许动态解析IL代码并执行,这跟苹果的程序安全机制有关系。IOS的程序都是运行在安全沙盒中,不允许在运行过程中动态加载分析执行代码。所以,Xamarin采用的是AOT编译机制。Android以JIT方式编译,而通过Xamarin编译后产生的文件为原生平台的ARM机器码,并且,Android和iOS皆为1对1的方式对应至原生SDK。生成的对应的平台的机器码是不是就是跟原生程序—样了?既然是吧本机的程序集文件扔到了Mac下编译的,那肯定是对应平台的原生代码了。所以,跟用OC开发的是一样的,只不过Xamarin转化了,估计体积略大,有冗余!

安卓环境由于手边没有安卓测试设备,没有尝试成功。

总结

总体来说整个开发体验还是非常不错的,我把这个结果给负责ios开发的同事看,都很惊叹,表示有必要学习一下C#了(玩笑话)。
但终究还是体验版,还有很多bug,比如我在测试过程中,热重载没有,而且无法重复编译,需要重新打开项目才行,不知道是不是我的使用问题。
希望后面这个项目真的能搞起来吧。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值