2021年11月8号午夜,.NET6 C#10 VS2022正式发布,.NET进入新时代!
.NET6号称迄今为止最快的.NET,究竟有哪些亮点呢?
该版本经历了一万多次Git提交,其改进升级良多,下面是微软官方博文的译文,内容很长很丰富。不过,也不太好懂,后面还有微软MVP更接地气儿的解读。
微软官博介绍
- 使用 Microsoft 服务、其他公司运行的云应用程序和开源项目进行了生产压力测试。
- 作为最新的长期支持 (LTS) 版本,将支持三年。
- 跨浏览器、云、桌面、IoT 和移动应用程序的统一平台,所有应用程序都使用相同的 .NET 库和轻松共享代码的能力。
- 性能全面提升,尤其是文件 I/O,这共同导致减少执行时间、延迟和内存使用。
- C# 10 语言改进,例如记录结构、隐式使用和新的 lambda 功能,同时编译器添加了增量源生成器。F# 6 添加了新功能,包括基于task的异步、管道调试和众多性能改进。
- Visual Basic 在 Visual Studio 体验和 Windows 窗体项目打开体验方面进行了改进。
- 热重载使您可以跳过重新构建和重新启动应用程序以查看新更改 - 在应用程序运行时 - 在 Visual Studio 2022 和 .NET CLI 中支持,适用于 C# 和 Visual Basic。
- 云诊断已通过 OpenTelemetry 和 dotnet 监视器得到改进,现在在生产中得到支持,并且可用于 Azure 应用服务。
- JSON API 更强大,具有更高的性能,带有序列化程序的源生成器。
- ASP.NET Core 中引入了最少的 API,以简化入门体验并提高 HTTP 服务的性能。
- Blazor 组件现在可以从 JavaScript 呈现并与现有的基于 JavaScript 的应用程序集成。
- 用于 Blazor WebAssembly (Wasm) 应用程序的 WebAssembly AOT 编译,以及对运行时重新链接和本机依赖项的支持。
- 使用 ASP.NET Core 构建的单页应用程序现在使用更灵活的模式,可以与 Angular、React 和其他流行的前端 JavaScript 框架一起使用。
- 添加了 HTTP/3,以便 ASP.NET Core、HttpClient 和 gRPC 都可以与 HTTP/3 客户端和服务器交互。
- File IO 现在支持符号链接,并通过重新编写的 FileStream 大大提高了性能。
- 通过支持 OpenSSL 3、ChaCha20Poly1305 加密方案和运行时深度防御缓解措施,特别是 W^X 和 CET,安全性得到了提高。
- 可以为 Linux、macOS 和 Windows(以前仅适用于 Linux)发布单文件应用程序(免提取)。
- IL 修整现在更加强大和有效,新的警告和分析器可确保正确的最终结果。
- 添加了源代码生成器和分析器,可帮助您生成更好、更安全和更高性能的代码。
- 源代码构建使 Red Hat 等组织能够从源代码构建 .NET,并向其用户提供自己的构建版本。
.NET从业者该关注哪些
以上是微软官方博文解读,然而我一个普通的.NET从业者,有哪些是最该关注的呢?
1..NET6是LTS长支持版本,发布前经过了长期的线上生产压力测试,因此是非常值得信赖,可以果断切换的;
2..NET6再度迎来大幅性能提升,从文件I/O性能,到框架层Json API,甚至代码编译环节的PGO深度优化,性能嗷嗷的;
3..NET6是真正的跨浏览器、云、桌面、IoT 和移动应用程序的统一开发平台,做Web开发、客户端开发,也能快速切入物联网、移动开发、人工智能等领域了,前景广阔;
4.Blazor重磅升级,最小API,跨平台MAUI等新技术发布,.NET开发者技术方案多了选项,也意味着很多新内容要学习了,你还学的动吗;
5.热重载HotReload、AOT编译、深度Arm支持等新技能,既酷炫又厉害,会扩充.NET应用场景,提升开发效率,说到底就是好事儿多多;