编译 | 朱先忠、诺亚
日前,微软推出了.NET 7的生产版本。据悉,.NET 7基础设施现在可用于windows、macOS和linux,这次版本的更新带来了性能增强、C#语言升级以及一系列基于容器的云原生开发功能。
本次发行的关键主题包括让开发人员能够编写高性能的Web API,构建云原生应用程序并在Linux上进行部署,还特别强调提升开发人员的生产力和项目的容器化支持,以及在GitHub操作中设置CI/CD工作流等等。
从11月8日起,全球程序员即可从地址(https://dotnet.microsoft.com/en-us/download/dotnet/7.0)处获取分别针对Windows、Linux和macOS的.NET 7的生产版本。
截图@微软官网
.Net 7是微软.Net统一之旅中的第三个主要发行版本。借助.NET 7,开发人员可以通过一次性学习一个SDK、一个运行时和一组基础库实现技能重用,从而开发出包括云端、Web、桌面、移动、人工智能和物联网等多平台的各类应用程序。
性能亮点:更强、更快
对于C#11语言而言,其目标是使开发人员能够编写更少的代码。.NET 7在通过对象初始化增强、支持原始字符串字面量和其他功能简化编码的同时,实现了泛型数学等新特性。
此外,其他亮点还包括:
另外值得注意的是, .NET 7与ASP.NET Core、Entity Framework,以及 .NET MAUI(多平台应用程序UI)、Windows Forms、Windows Presentation Foundation和用于构建分布式应用程序的Orleans 7框架等一起发行。同时,对于Blazor Web应用程序开发工具,.NET 7改进了WebAssembly调试体验,并支持针对位置改变这种事件的处理。
其中,.NET MAUI被视为 .NET跨平台原生UI的未来,于9月初次亮相。但彼时曾有一部分开发者对此表示不满,因为他们不相信该技术已经完全成熟。而在.NET 7中,可以看到,.NET MAUI在桌⾯应⽤的⽀持有了进一步改善,对手势、桌⾯菜单、⿏标⽀持、右键菜单、窗体缩放都有了很好的⽀持。在开发体验上.NET MAUI已经可以⽀持IOS 16和Android 13。
在.NET 7版本正式发布之前,微软.NET团队开发者Stephen Toub专门就.NET 7的效能改进做了详细说明。微软在每个.NET版本都强调效能改进,因此也有开发者质疑,如果说 .NET 6的效能已经提升到一个程度,.NET 7是否还有效能提升的空间。
对此,Stephen Toub强调:.NET 7的速度“非常快”,Runtime和核心函数库加入了1,000个效能相关的拉取请求,而且在ASP.NET Core、Windows Forms和Entity Framework也有各种改进。他表示,这一版本将是有史以来最快的.NET。他甚至提到,当开发者被经理问到为什么要升级到.NET 7,可以直接回答“.NET 7 is super fast.”
伴随着.NET 7的发行,目前微软正在发布Visual Studio 2022 17.4 IDE。Visual Studio 2022为当前的集成开发环境引入了64位功能。在此产品发布之前,.NET 7经历了广泛的预览和发布候选阶段。.NET 8很可能会在一年内问世,预计将专注类似如现代工作负载、Web API以及更多的有关无缝云原生开发这样的主题。
.NET 7发布之后C#有没有可能超过JAVA?
新版本发布后,知乎论坛出现了这样一则问题:“.NET 7发布之后,C#有没有可能超过Java?”对此,不少开发者留下了各自的见解。
观点1:在国外.NET已经足够繁荣,但国内,很多人对C#、.NET有很大的偏见。.NET能否吃掉Java的一部分市场依旧有待商榷。从个体角度看,人均薪酬上.NET不如Java,人均就业机会上.NET大于Java。
截图@知乎
观点2:从性能上看.NET超越了Java,但是从生态上来看,Java远胜.NET,这种局面长期不会有很大改变。
观点3:自己觉得好的话就用,不用纠结超不超过的问题。这些流行语言选哪种学到一定深度, 都碾压语言差异带来的优势。
https://www.infoworld.com/article/3679328/microsoft-net-7-makes-its-official-debut.html
来源: 51CTO技术栈