微软在Build 2020公开,预计在今年年底正式推出的.NET跨平台UI框架MAUI,现在已经来到第5个预览版本,这个版本加入了动画和视图转换等图片处理功能,也移植了多个UI组件,并且改进单一项目模板。
MAUI让开发者可以使用.NET跨平台UI工具包构建原生应用程序,支持包括Android、iOS、macOS、Windows和Tizen等行动和桌面平台。MAUI跨平台框架可以使用C#和XAML,来创建行动和桌面应用程序,因此开发者能够对多平台上运行的应用程序,使用共享单一程序代码库。
.NET MAUI是由Xamarin.Forms演进而来,从行动场景进一步扩展到桌面场景,和过去使用Xamarin.Forms构建跨平台用户接口有许多相似之处。使用MAUI可以利用单个项目,创建多平台应用程序,并且根据需求,添加特定于平台的源码和资源。
而MAUI第5预览版开始提供动画功能,微软提到,在MAUI中有数种实现动画的方法,而最简单的便是用视图扩展组件方法,以像是FadeTo、RotateTo、ScaleTo、TranslateTo等来控制对象,利用这些方法就可以简单地让对象,以淡出淡入、旋转、缩放和转换等方法,呈现动态视觉效果。
微软也在这个版本中,将像是ActivityIndicator、CheckBox、Stepper和图像等控件的属性和事件,从原本Xamarin.Forms的渲染架构移植到了处理程序(Handler)中。而在之前的预览版本中,开发者需要检查在兼容组件中,尚不可用的渲染器和注册器,但是在第五预览版中,官方更新UseMauiApp扩展组件,能够自动连接所有基于处理程序和渲染器的控件,使得开发工作更容易。
在第5预览版的另一个新功能,是加入了称为Shell的应用程序容器,提供URI导航,以及弹出式菜单和标签的快速实例方法,开发者只要将Shell当作根元素添加到App.xaml.cs的窗口中,就可以使用像是FlyoutItem或Tab等方式显示内容。
另外,微软也改进单一项目模板,现在会将多个WinUI项目整合为一,也就是说,现在开发者使用dotnet new maui指令之后,将只会看到两个项目,一个是多平台的.NET MAUI项目,另一个则是WinUI项目,在执行WinUI项目的时候,开发者不再会混淆要选择哪一个项目。