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

原创
09/23 10:01
阅读数 1.4W

本月初微软官宣.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 的改进

在 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的见解和内容前瞻。

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

> 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。

展开阅读全文
打赏
1
2 收藏
分享
加载中
语言方面确实很好
09/27 09:57
回复
举报
C#有值類型有真泛型,平常寫C++的我挺喜歡的。
09/26 11:18
回复
举报
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=composite
这个最广泛和全面的web框架测评吧。
看综合得分(Composite), aspnetcore (基于.netcore 5)是主流框架中排第三,总分第八。 主流框架比它总分高的只有C++和Rsut各一个。 Go框架最高的排名是fiber,atreugo (这个基于fastHttp的,不意外),不过都不是主流框架。 Go的主流框架Gin排名55,Java主流框架Spring 第51.
09/24 15:50
回复
举报
这以前有多措?
09/24 13:25
回复
举报
我怎么感觉5才出来没多久。。。
09/24 11:23
回复
举报
I_I
生不逢时,本来就有Java这个劲敌,更何况现在还有Go风头正劲,新项目不知道还有什么理由用.NET
09/23 17:46
回复
举报
c# 是有 gc 语言里最快的
09/23 14:59
回复
举报
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html 看看吧,连java都打不过,更别说go了
09/23 16:25
回复
举报
你发的结果不都是 c#快吗
09/23 16:41
回复
举报
还都是?仔细看了没有啊,前几项测试c#快,后几项都是java快。各有千秋,性能都差不多,根本没多大优势。
09/23 19:10
回复
举报
10项测试 8/10 C#胜出,而且用的是.NET SDK 5.0.201,而java是openjdk 17,看看.net 6出来后是否继续会有提升
09/23 19:22
回复
举报
跟GO比也是 8/10 C#胜出 https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/go-csharpcore.html
09/23 19:37
回复
举报
前几项,后几项。好意思说清楚8:2吗?而且再仔细看看没项快多少秒
09/24 12:34
回复
举报
啊这,java以2:8的优势打败了c#?
09/26 14:29
回复
举报
以前是得多慢啊!
09/23 13:23
回复
举报
不比Java慢
09/23 14:22
回复
举报
你测试过吗?拿数据说话,别跟我说只是跑个简单的hello world
09/23 14:28
回复
举报
大把专业的多场景测试啊,去看最有名的techempower啊,不会这个都不知道吧
09/23 14:49
回复
举报
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html 你自己看看吧,前几项测试c#快,后几项都是java快。各有千秋,性能都差不多,根本没多大优势。
09/23 16:07
回复
举报
那不说明我说对了,不比Java慢,你说这么多是为了要证明我说的话么,谢谢了
09/24 15:42
回复
举报
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html 太多的对比了,并且现在c#绝大部分场景是比go快的
09/23 15:35
回复
举报
你自己看看吧,前几项测试c#快,后几项都是java快。我本地在Linux机器上测试结果也是各有千秋,性能都差不多,c#除了语法糖好点,别的根本没多大优势!
09/23 16:18
回复
举报
不比java快,linux实际测试的结果!
09/23 16:20
回复
举报
所以国内大公司几乎都不用,也就外包小公司用用。连微软内部自己都在用java定制jdk。
09/23 19:02
回复
举报
市场肯定比不上Java,不过不是因为性能,是历史上的欠债。
09/24 15:41
回复
举报
更多评论
打赏
25 评论
2 收藏
1
分享
返回顶部
顶部