当前位置:社会杂谈网 >> 互联网 >> 文章正文

完全了解微软 NET 5 更好的走向 NET 6在2021年

发布于:2020-11-20 被浏览:3990次

代际转移可能是微软2020年开发者战略的关键主题之一。这是一次比较顺利的交接,统一了新旧工作方法。但最后无论是发布Project Reunion,WinUI 3还是。NET 5,新技术在前进,旧技术在后面。

这不是一件坏事。我们发展了新的做事方式,原因很多,但往往围绕着一个关键点:新方法更好。它解决了旧工具无法解决的问题,回答了原解决方案定义时没有提出的新问题。

面向新世界的新.NET

这些原因都体现在从。 NET框架添加到。NET 5。20多年前,定义原著的时候。NET框架,我们在严格定义的信息技术环境中构建了一个整体的客户机/服务器应用程序。现在,我们使用快速变化的基础设施来构建混合轻量级分布式微服务和跨平台移动应用。这是一个全新的世界。

那个。NET Core就是为这种工作方式而设计的。跨平台从一开始,除了支持传统。NET开发模式和实践,它还旨在支持新的云优先的移动应用。它通过三大版本得到越来越多的APIs那个。NET标准库开始提供通用的代码目标,使得跨它共享项目更加容易。 NET Framework和Xamarin。

.NET 5:未来开发之路

严格来说,新版应该是。NET Core 4,但微软跳过了版本号,以避免与当前版本的。 NET框架。与此同时,切换到更高的版本号,并在名称中丢弃核心,这表明这是下一步。NET开发。两个项目仍然保留核心名称:ASP.NET核心5.0和实体框架核心5,因为仍然有相同版本号的旧项目。

这是一个重要的里程碑,这表明您需要考虑开始所有新项目。NET 5,并将任何现有代码从。 NET框架。虽然微软并没有放弃对。NET Framework,它处于维护模式,在未来的次要版本中不会获得任何新功能。所有新的API和社区开发都将采用。NET 5(和的长期支持。NET 6在2021年)。NET 5抛弃了一些熟悉的技术,比如Web Forms,Windows Communication Foundation。如果还在用的话,还是用吧。NET Framework 4,并计划迁移到更新的支持技术,如ASP.NET的Razor Pages或gRPC。有计划为提供类似API的替代框架提供社区支持,但采用更新颖的方法将有助于开发面向未来的代码,并使跨平台操作更加容易。

令人困惑的方面。NET 5是如何处理的。 NET标准库。他们没有消失,但是。NET 5代码不需要直接引用它们,因为它们现在是。NET 5目标框架标记(TFM)。新的TFM取代了旧的netapp和netstandard TFM,但是如果您的代码需要跨框架共享,您仍然可以使用。NET标准2.0 TFM的兼容性。但是,在大多数情况下,您只能在。NET 5环境,所以你可以放心地坚持net5.0 TFM宣言。

.NET 5入门。NET 5.0继续托管一系列相同的语言,包括C#和F#的新版本。这些添加了许多新功能,这些功能是作为Visual Studio 16.8的一部分提供的,或者与更新的C#Visual Studio代码扩展一起提供的。微软已经把框架和它的所有实现(比如Mono的大部分)移到了一个单一的GitHub库,集成了开发,保证了所有版本都有相同的基本功能。随着微软转向。NET 6,它将引入其他更高级别的实现,包括Xamarin。

新的。NET仍然基于为最初的公共语言运行库开发的即时编译技术。新的CoreCLR在跨多个处理器架构运行的同时,继续提高性能。在苹果公司基于ARM的M1处理器问世之后,代码是用。NET for macOS将作为本机二进制代码在英特尔和基于ARM的硬件上运行,因此代码不需要经过第二层模拟。支持ARM64将启用。NET 5应用直接运行在基于ARM硬件的Windows上,充分发挥微软自带的SQ1和SQ2处理器的功能。

有些场景,如网络程序集和移动操作系统,需要预编译代码。NET提供了一个高级编译器及其JIT工具。目前,AOT编译器可以在任何开发环境中使用,Uno平台团队已经看到,由于Web Assembly的支持,速度得到了显著提高,是以前Web Assembly语言解释器的7到15倍。

有计划使用AOT编译器作为需要快速启动和占用较少内存的应用程序的选项,例如资源有限的智能手表和物联网硬件。另一个选项是单文件部署。应用程序所需的一切(包括运行时)都捆绑在一个软件包中,因此更容易部署。容器或非Windows系统中的. NET应用程序。

新的。不应孤立地看待. NET。Web Assembly开发使用Blazor,跨平台UI开发使用MAUI(多平台应用UI)也很重要。通过结合这些技术。NET 5几乎包罗万象:从覆盆子Pi硬件和安卓手机到运行在AWS和Azure上的Kubernetes托管的容器。

2021年迈向.NET 6

重要的一点是,这只是整个过程中的又一步。NET 5是Windows API与OS分离,WinRT和Win32 API与Project Reunion合并,切换到WinUI 3、MAUI等UI层的关键技术。发布后。在2021年,这一领域的许多工作将继续下去。NET 6是这些项目的目标。你不必等待。NET 6开始迁移。越早开始越好,这样你就有时间处理可能出现的任何问题。

你应该考虑。NET 5作为下一阶段的第一步。NET之旅。你应该开始把所有的旧代码,决定哪些代码要移植更新,哪些代码需要完全替换。2020年将结束,你可能正在计划2021年的发展计划。鉴于此,NET 5可以帮助你关注需要做的事情,让你的软件资产为大大加速的未来做好准备,这将不再与Windows版本或Windows紧密相关。