微软云第一。net 7发布内部

11月意味着是时候发布新的。net版本了。.NET 7中对于云和容器有什么?跨平台支持和云原生功能。

  • 在Facebook上分享
  • 在推特上分享
  • 在LinkedIn上分享
  • 在Reddit上分享
  • 通过电子邮件分享
  • 印刷资源
像素化的云反射在建筑窗户上

今年的.NET Conf见证了。net 7的发布微软最大、最重要的开源平台的最新版本。除了底层工具,还有c#和f#的新语言版本,以及跨平台的MAUI用户界面框架和ASP的新版本。NET Core和Blazor用于服务器端和客户端web应用程序开发。另外,对Orleans分布式应用程序开发框架也进行了重大更新,采用了新的命名方案,最终使其与. net同步。

微软和。net基金会已经成功地将平台转变为年度更新节奏,使用开放开发来优先考虑功能,并引入社区贡献的代码。从windows专属的。net框架到。net核心,再到现在的单个。net版本的转变,给了我们一个单一的跨平台开发平台,在Mono团队的基础上增加了Linux和macOS支持。最重要的是,一组公共基类可以确保您只需要学习它们一次,并且可以在。net运行的任何地方使用它们。

为云和容器建造

以前主要的。net版本主要针对桌面和移动应用程序,而这个版本针对云和现代企业应用程序有很多内容。这并不奇怪,因为跨平台支持使得在Windows Server系统上运行与在Linux服务器上运行相同的代码变得很容易。在运行时和编译器中必须有大量的底层工作来支持最新的Arm指令集,这些改进使Arm . net代码在最近的Arm芯片上比以前的版本提高了45%。

很明显。net的未来是跨平台和云原生的。是的,Windows将成为这个平台的核心,但它只是众多目标中的一个,这要归功于对Blazor for WebAssembly和Kubernetes容器的日益关注。这种方法得益于Linux版本,因为。net现在可以直接从IDE进入容器,而不需要Docker的副本。您不必发布代码,然后将其打包到容器中,而是可以直接从项目到容器,使用容器包从目录创建容器,然后将其作为Linux容器映像发布。

. net的方法还有一个额外的好处,因为它与容器主机无关。你的容器可以运行在任何符合标准的平台上。net将提供它自己的基本映像,并为ASP提供单独的版本。NET Core,自包含应用程序,以及所有其他应用程序。底层映像基于Debian,因此需要确保直接针对替代方案。这并不完全是无损容器的愿景,但如果您正在交付ASP。NET核心或独立代码,它非常接近于。NET提供了运行代码所需的最低限度。目前,您必须预先指定主机Linux,除非您运行在Ubuntu之类的系统上。

把凿子砸向Ubuntu

微软一直在与Canonical合作,为其Chiseled Ubuntu容器添加。net支持。这是一个来自Ubuntu的相对较新的容器基础映像,它将现有的Debian包减少到最少,使攻击面保持较小。由于它们是为单一用途的幂等容器设计的,每次发布时都要构建新的映像,因此没有内部包管理,也没有外壳,就像微软自己的Windows Server Nano版本一样。

将此功能添加到. net中使其成为云原生生态系统中的一等公民。您将能够在容器中构建代码,直接将其推送到存储库,然后使用Kubernetes工具(如Helm)来处理应用程序更新和部署。使用Azure DevOps或GitHub将简化使用微软自己的Azure Kubernetes工具的工作,包括Azure容器应用程序,以及在Azure Stack HCI上通过Azure Arc运行的混合云实例。

WebAssembly作为一种向浏览器提供丰富用户体验的可移植方式正在迅速流行起来。微软在。net 7中继续使用Blazor进行试验,增加了新的调试特性。事实证明,它很受合作伙伴的欢迎:Uno平台在为。net 7准备的最新版本中增加了改进的WebAssembly工具。这包括一组更好的线程工具,极大地提高了WebAssembly的性能。线程支持仍然处于实验阶段,因为JavaScript中的低级API问题仍然需要解决。

.NET作为基础设施

这次发布的一大驱动力是Azure, . net工具对于平台来说变得越来越重要。ASP的混合。NET Core的Kestrel web服务器和YARP反向代理允许微软自己的云服务大幅降低成本。一个例子是Microsoft Graph,它是一个ASP。NET Core服务每天处理超过700亿个请求。最近的。net版本允许该服务继续扩展,同时成本下降了91%。Azure应用服务已经使用Kestrel有一段时间了,性能有了显著提高。这一变化足以让他们计划将前端服务器的数量减少50%。

Azure将在其平台即服务工具套件(包括Azure应用程序服务和Azure容器应用程序)中对。net 7提供零支持。这将允许任何基于最新预览版构建的概念验证代码或应用程序尽快发布。

与此同时,. net 7正在改进其内置的网络工具。HTTP/3支持可以让您快速利用最新的web性能特性,同时还允许您的代码从复杂的REST api过渡到更简单的gRPC调用。这种方法可能意味着重新构建api和重构代码,但它可以显著加快分布式应用程序和微服务的速度。

将这样的组件升级作为. net的一部分,使软件升级有效地成为基础设施升级。通过减少云基础设施的负载,运营商可以使用。net来减少资本和运营支出,这在不稳定的经济时期越来越重要。

像所有偶数年的。net版本一样,这将是一个标准术语支持(STS)版本。微软对。net的政策与其他开源项目使用的政策相似,在发布下一个主要版本之后给予它六个月的支持。由于. net有一个年度周期,这将为您提供总共18个月的支持,前提是您安装了当前的补丁版本。下一个LTS版本将是。net 8。

微软继续快速发展。net,与。net基金会合作,交付用户需要的工具和特性。来自社区的超过28000个贡献,微软的第一个大型开源实验显然是成功的。

版权所有©2022 金宝搏体育下载IDG通信有限公司

如何选择低代码开发平台