9月14日,.NET5發布了(Release Candidate)RC1版本,是11月正式版本之前兩個RC版本中第一個,包含語言新版本C#9和F#5,需要用Visual Studio 2019 (v16.8, Preview 3)才能使用,注意不是Visual Studio 2019,二者可以並存安裝。
”
相對於.NET Core3.x,做出了很多改進:
1 單文件可執行應用程序
2 更小的容器映像
3 更強大的JsonSerializer api
4 BCL nullable reference type annotated
5 新target framework names,
6 對Windows ARM64更好的支持。
其中最被人稱道的是.NET5里面GC和JIT性能大幅提升,ARM64重點性能優化帶來了更好的吞吐量和更小的二進制文件,對容器技術更好的支持,遠遠領先於其他平台語言!懷揣着憧憬與好奇,我准備動手實踐下,數據說話!動手前,先展望一下。
.NET5,完成統一
微軟2019全球開發者大會上正式宣布的.NET5,其主要目標之一是提供一個單一的、跨平台的.NET 運行時和具有統一運行時行為和開發者體驗的框架。在第一次宣布這個項目時,.NET 團隊的程序經理 Richard Lander 強調了這個項目的重要性:
未來只會有一個.NET,可以支持 Windows、Linux、macOS、iOS、Android、tvOS、watchOS 和 WebAssembly,等等。我們將引入新的.NET API、運行時功能和語言特性作為.NET 5 的一部分。此外,我們想清楚地告訴大家,.NET 5 是.NET 平台的未來。
時至今日,.NE5 RC1發布,也同步發布了http://ASP.NET Core和EF Core的RC1版本,能看到各平台的打通,能看到底層CLR和BCL的通用,能看到多個方向的應用框架用法,跟.NET Core3.1的區別並不大。從2016年分裂的.NET Framework和.NET Core被.NET5完成了統一!
DotNetdaily容器支持優勢
新的互聯網技術時代已經來臨了,容器、Kubernetes、DevOps、微服務、雲原生才是技術前進的方向,其中容器技術屬於基石。從.NET Core誕生直到.NET5 RC1,都能持續看到平台對容器技術的官方支持和適配改進,RC1里面還強調了有着更小的容器鏡像。.NET5+Docker容器化后還有其他語言無可比擬的優勢!
1 體積更小
.NET5的鏡像體積都很小,alpine的鏡像更小,帶上應用程序也才80M,對於微服務分布式架構而言,更小的體積意味着更少的下載帶寬,更快的分發下載速度。
2 占用資源更少
.NET5的CLR+默認http://ASP.NET Core框架頁面啟動后,僅需22M內存,同比Java8已經需要120M了,運行時資源占用也更低,意味着更高的部署密度和更低的計算成本。
3 啟動速度更快
.NET5的 CLR啟動速度非常快,而啟動速度就意味着交付效率和回滾效率,在動輒數百個副本微服務時,啟動速度就是個非常重要的特性。
4 容器感知,低配運行
.NET5 默認更好的支持Docker資源限制,官方團隊也在努力讓.NET5成為真正的容器運行時,使其在低內存環境中具有容器感知功能並高效運行,遠超其他平台。