微软发布.NET 6预览版,补完统一化最终部分提供多平台App UI

微软推出了最新.NET 6第一预览版,这个版本将会是补全.NET 5.0,进行存储库集成,以及.NET统一化工作的最终部分,微软提到,他们对.NET的所有部分都进行了大幅度的改进,包括云计算、桌面和移动应用程序。

.NET 6的重点还是在其统一化,和扩展支持更多的平台,微软增加开发者可以使用.NET进行的工作,通过集成Xamarin将Android、iOS和macOS功能带到.NET 6中,并且利用Blazor扩展支持新型混合客户端应用程序,这是一种结合网页和原生UI的应用程序,可以用于桌面和行动用例。

微软要借由统一化.NET让各平台开发人员都能受益,桌面应用程序开发人员有机会触及新的用户;移动应用程序开发者在打造iOS和Android平台应用程序时,也可以使用主要的.NET工具和API;而网页和云计算开发人员可以更简单地将应用程序移植到移动平台,并且在之间共享程序代码。

这个统一的过程从.NET 5开始,微软选择Blazor WebAssembly作为第一个统一平台,这是一个以Mono Runtime为基础,使用.NET类别函数库和.NET SDK工具的平台,微软提到,就像是集成Xamarin一样,他们会在iOS和Android使用相同的模型,通过统一的平台,使得添加的API和更新,都可以在同一天供所有开发人员使用,并适用于所有应用程序。

而且用户不用担心因为支持行动工作负载,.NET SDK就会变得庞大,因为行动工作负载将会是可选的,而事实上,现有的工作负载都会变成可选,因此.NET SDK反而会变小,这项改进将会在.NET 6进行一部分,并在.NET 7中完成。

.NET 6统一化的工作,还包括.NET多平台应用程序UI,这是一个以Xamarin为基础的现代化UI工具,微软提到,这将可以让开发者在各种平台上,包括行动和桌面应用程序中,共享更多的程序代码,并且提供一致的应用程序体验,开发者将可以用来开发Android、iOS、macOS和Windows应用程序。

微软通过扩展和集成Xamarin.Forms工具包,在.NET 6中支持多平台,微软表示,将Xamarin.Essentials函数库集成到.NET多平台应用程序UI中,不只供开发人员使用跨平台控件,还可以轻松地使用像是设备的传感器,或是照片和联系人等一般功能。微软在.NET 6第一个预览版,先在.NET多平台应用程序UI添加Android和iOS两操作系统的支持。

另外,微软也持续改进.NET对Arm64设备的支持,在.NET 5.0中,微软已经大幅改进了应用程序在Arm64上执行的性能,而.NET 6第一个预览版,以.NET 5所提供的Windows Arm64功能为基础,在Windows上添加了对Windows Forms和WPF(Windows Presentation Framework)的支持,微软提到,之前虽然有承诺会将Windows桌面应用程序功能,向后移植到.NET 5,但是目前没有时间表,预计会在2021年上半年完成。

在Mac上,.NET 6以原生和模拟的方式支持了Apple Silicon,但微软提到,与其他.NET所支持的Arm64芯片相比,新的Apple芯片有更严格的要求,Apple为Apple Silicon发布移植JIT编译器以及相关的API,因此所有相依于JIT编译器的应用程序Runtime都需要变更,这些改变已经在.NET 6第一个预览版中完成。

但是另一个新要求,是对要通过Mac应用程序商店发布应用程序的通用二进制档要求,微软提到,因为目前.NET不支持通过商店发布应用程序,而且他们也不认为.NET开发人员需要这项功能,因此在这个版本中,他们暂时不会提供这项支持,但会在.NET 7时重新评估这项需求。

.NET 5的支持时间只会到.NET 6发布后的3个月,而.NET 6将会是一个长期支持版本,预计会在2021年11月发布,并提供3年支持。