.NET 5:.NET Framework和.NET Core的合并意味着什么

微软的.NET战略最近可能还不清楚,在熟悉的.NET Framework和新的开源.NET Core中有两个截然不同的发展阶段。 一组通用的.NET标准库旨在将两者结合在一起,从而为开发人员提供了一种从Windows到移动终端到Web的所有目标平台上使用任何不同.NET版本的单一方法。 但这仍然意味着必须考虑使用哪个.NET运行时:Core,Xamarin,Mono或Framework?

.NET 5简介,.NET的未来

在Build 2019上,Microsoft 宣布了.NET的未来计划 ,宣布.NET Core 3之后的下一个主要版本将是名为.NET 5的.NET的单个版本。在重构和恢复活力的.NET的快速增长的基础上作为核心, Microsoft的目标是在.NET 5上运行许多现有的.NET Framework 4.8 API和功能,以及新的API和服务 。 不仅基类库正在融合; 微软借此机会将其不同的.NET编译器整合在一起,同时改进了.NET Core的JIT(即时)和Mono的提前编译模型。

[ InfoWorld的2020年度技术奖获奖者:年度最佳软件开发,云计算,数据分析和机器学习产品 ]

这不是一个令人惊讶的决定。 .NET Framework的发展速度不如.NET Core快,受遗留代码的影响。 加上微软对跨平台开发的日益关注,确保了从近二十年历史的Framework到更新的Core的果断转移是不可避免的。 从名称中删除Core也是合乎逻辑的。 自从发布以来就添加了API并支持.NET标准库,.NET Core实际上不再是重构的精简核心。 随着.NET 5标志着.NET Framework的开发结束,现在是时候重新命名了。

即使这样,也不会一夜之间发生变化。 .NET Core 3仍在交付中,并且.NET 5直到2020年秋季才发布。计划的2020年11月交付日期使我们有将近18个月的时间准备好我们的代码,而预览版本则在2020年上半年。

.NET Framework会发生什么?

微软明确指出的一件事:.NET Core 3将是移植.NET Framework API的最新版本。 因此,.NET 5中将没有任何其他框架API,并且某些较旧的技术(例如Web窗体和Windows Communication Foundation)将不会成为新平台的一部分。 如果要从.NET Framework 4.8过渡,则需要找到替代的,受支持的技术。 当前,Microsoft建议Blazor替换Web窗体,gRPC替换WCF 。 它们是明智的选择,可以为您提供跨平台支持,而这些跨平台支持是旧技术无法提供的,并且Blazor使用Web Assembly或在ASP.NET中提供服务器端控件,它们现在支持许多新的更高性能技术。

微软对开发人员的建议是开始对所有新应用程序使用.NET Core 3 ,但是必须注意,这并不是.NET Framework应用程序的终点。 Microsoft致力于对.NET Framework的长期支持,因此,如果您在.NET Framework 4.8上运行了代码,则在准备好进行转变之前,不需要对其进行更新。 毕竟,它目前正在交付使用.NET Framework构建的核心开发人员工具,包括Visual Studio。 即使这样,由于新的.NET和旧的.NET Standard之间在许多基础类之间具有兼容性,因此迁移也不会很麻烦,并且将使您有机会在更多地方运行该代码。

但是,仅迁移代码将失去为云和微服务重构和重新设计应用程序的机会。 .NET 5正在为当今的IT世界开发,其首要任务是混合云和容器化分布式系统,而不是在1990年代后期诞生原始.NET的客户端-服务器世界。

跨平台世界的跨平台运行时

通过将.NET Core,.NET Standard和Xamarin统一在一个平台上,Microsoft的目标是抢占跨平台的制高点。 您的代码(带有一些UI工作)将能够在Windows,Linux,iOS,Android等平台上运行,并支持许多不同类别的设备。 添加.NET Core 3对Windows桌面的支持后,可以在.NET 5中构建各种应用程序,尤其是如果您借助Uno和.NET第三方.NET工具的支持来利用随处运行的UWP控件,则尤其如此。其他。

随着.NET实现超出.NET Core的范围, .NET标准库仍将占有一席之地 。 通用库使从同一源代码定位多个.NET版本变得更加容易,并且您的所有.NET 5代码都将使用.NET Standard,从而简化了将代码从.NET Core的较早版本以及其他.NET实现(例如,单声道或Xamarin。

正确设置.NET的企业地位

.NET 5公告的一个方面是.NET 的常规发布时间表 。 将.NET置于年度节奏上,并每两年发布一次长期支持,应减轻对开发人员的额外压力,从而增加缺少的可预测性水平。 知道.NET 6将会在2021年问世,而一年后将推出.NET 7,并且有了对长期支持版本的四年支持,这将使规划新功能和应用程序生命周期变得更加容易。 它将使Microsoft和.NET Foundation的其余部分能够发布明确的路线图,说明预期的目标和预期的目标。

在.NET生态系统之外,Microsoft还有另一个机会,它专注于开发人员工具订阅。 随着Oracle对Java许可条件的变化,免版税的开源企业运行时将对许多现有的Java开发团队有吸引力。 .NET 5发布18个月的启动可以看作是时候培训您的开发人员新语言和新工具,并计划在.NET微服务中重新实现应用程序。

综上所述,其结果是企业对开发人员友好的.NET路线图。 Microsoft和.NET Foundation致力于定期更新和单个跨平台运行时,同时仍确保不放弃旧的.NET Framework应用程序。 长期支持应有助于开发团队规划应用程序生命周期,选择升级内容和升级时间。 您可以开始使用.NET Core 3的当前预览版,为2020版本做好准备。

From: https://www.infoworld.com/article/3394865/net-5-what-the-merger-of-net-framework-and-net-core-means.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值