性能再提升70%?大咖前瞻带你揭开.NET6的神秘面纱!

本月初微软官宣.NET 6 的RC1正式发布,这意味着.NET6正式版跟我们见面的时间又近了一步。在之前的.NET6预览版本中,微软加入了大量新功能特性,而在最终版本中将不再额外加入新的内容,只对现在的内容进行进一步性能优化,以求系统更加稳定。

微软官方提供了.NET主题相关总览

从年初发布的预览1,到8月发布的预览7,许多新功能陆续进入大家的视线。

其中最受期待的,莫过于2020年5月微软推出的 .NET跨平台 UI 框架——MAUI(.NET Multi-platform App UI)。MAUI源自Xamarin.Forms,能让开发者用一套代码覆盖Android、iOS、Windows 和 macOS。

此外,在7月发布的.NET 6 Preview 6中,微软正式宣布.NET6支持更多的设备, 包括 Apple M1。这对于广大Macbook用户来说,无疑是一个振奋人心的消息。

回首.NET6预览版在这一年间的更新,许多内容都可圈可点:

  • C# 10 的改进

在 C# 10 中,许多API已经使用了C#的新特性,如顶层语句等。

上图展示了 C# 10 的这一特性,开发者从使用类和方法的编程方式,切换为支持Attribute的Lambda表达式,这样就能让更多的代码拥有类似MVC 控制器的功能。

  • 具有原生设备功能的Blazor 桌面Web应用

如今,Blazor 已成为编写 .NET Web 应用程序的非常流行的方式。微软最初在服务器上支持 Blazor,然后在具有 WebAssembly 的浏览器中提供支持。.NET 6再次对其进行扩展,支持用Blazor编写桌面应用程序,即Blazor桌面。Blazor桌面可用于创建混合型客户端应用,即在原生客户端应用中嵌入Web页面,通过接口把 Web 和原生 UI 结合在一起。Blazor 建立在MAUI之上,具有与其他解决方案相当的启动和吞吐性能。大量在离线桌面应用中提供丰富 UI 的 Web 开发者将会因此而受益。

上图演示了在 macOS 上运行的 Blazor 桌面应用程序。在此示例中,整个应用程序都是使用 Blazor 构建的,除了外部由 Mac 应用程序容器提供的外框。

  • 云原生应用的最小化 Web APIs

在 .NET 6 中,微软为 Web 应用的托管和路由引入了一个全新的API:WebApplication。

该 API的主要目的是帮助使用C#(或者F#)的后端开发者,快速创建微服务项目或者HTTP API服务。

与之前的ASP.NET Core Web API相比,新的Web API在启动模板和框架结构上都进行了优化。API的模板相当简洁,我们甚至只需要写4行代码便可完成一个最小Web API项目的搭建。

  • 支持HTTP/3

HTTP/3是为了解决HTTP/2.0的传输相关问题而生的,可以让用户在各种设备上更快地访问Web页面和服务。它基于一个新的传输层协议,称为QUIC(Quick UDP Internet Protocol),工作在UDP之上,而不是TCP。

在.net 6预览版中,微软添加了对 HTTP/3 的支持,这是一项很大的改进。HTTP3 加快了连接的设置速度,极大提升了低质量网络下的性能。

从.NET的开源与基金会的成立,到.NET的开源,微软的每一个举动无一不影响着全世界的开发者。.NET的每一个更新,都会引起社区中开发者的关注和讨论。而我们也一直关注着.NET,并十分期待.NET6正式上线后可以为我们带来更多惊喜。

最后,在微软宣布.NET6进入发布倒计时的时候,我们也请到了微软的"最有价值专家"(MVP)——中国.NET队长张善友,为我们带来对于.NET6的见解和内容前瞻。

大家有兴趣不要错过~详细内容可见葡萄城公开课。

posted @ 2021-09-23 09:57  葡萄城技术团队  阅读(10111)  评论(25编辑  收藏  举报