性能再提升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的见解和内容前瞻。
大家有兴趣不要错过~详细内容可见葡萄城公开课。