本月初微软官宣.NET 6 的 RC1 即将在 11 月正式发布,这意味着.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 中,许多 API 已经使用了 C#的新特性,如顶层语句等。
上图展示了 C# 10 的这一特性,开发者从使用类和方法的编程方式,切换为支持 Attribute 的 Lambda 表达式,这样就能让更多的代码拥有类似 MVC 控制器的功能。
如今,Blazor 已成为编写 .NET Web 应用程序的非常流行的方式。微软最初在服务器上支持 Blazor,然后在具有 WebAssembly 的浏览器中提供支持。.NET 6 再次对其进行扩展,支持用 Blazor 编写桌面应用程序,即 Blazor 桌面。Blazor 桌面可用于创建混合型客户端应用,即在原生客户端应用中嵌入 Web 页面,通过接口把 Web 和原生 UI 结合在一起。Blazor 建立在 MAUI 之上,具有与其他解决方案相当的启动和吞吐性能。大量在离线桌面应用中提供丰富 UI 的 Web 开发者将会因此而受益。
上图演示了在 macOS 上运行的 Blazor 桌面应用程序。在此示例中,整个应用程序都是使用 Blazor 构建的,除了外部由 Mac 应用程序容器提供的外框。
在 .NET 6 中,微软为 Web 应用的托管和路由引入了一个全新的 API:WebApplication 。
该 API 的主要目的是帮助使用 C#(或者 F#)的后端开发者,快速创建微服务项目或者 HTTP API 服务。
与之前的 ASP.NET Core Web API 相比,新的 Web API 在启动模板和框架结构上都进行了优化。API 的模板相当简洁,我们甚至只需要写 4 行代码便可完成一个最小 Web API 项目的搭建。
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 的见解和内容前瞻。
大家有兴趣不要错过~详细内容可见葡萄城公开课。
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。