編譯 | 朱先忠、諾亞
日前,微軟推出了.NET 7的生產版本。據悉,.NET 7基礎設施現在可用于windows、macOS和linux,這次版本的更新帶來了性能增強、C#語言升級以及一系列基于容器的云原生開發功能。
本次發行的關鍵主題包括讓開發人員能夠編寫高性能的Web API,構建云原生應用程序并在Linux上進行部署,還特別強調提升開發人員的生產力和項目的容器化支持,以及在GitHub操作中設置CI/CD工作流等等。
從11月8日起,全球程序員即可從地址(https://dotnet.microsoft.com/en-us/download/dotnet/7.0)處獲取分別針對Windows、Linux和macOS的.NET 7的生產版本。
截圖@微軟官網
.Net 7是微軟.Net統一之旅中的第三個主要發行版本。借助.NET 7,開發人員可以通過一次性學習一個SDK、一個運行時和一組基礎庫實現技能重用,從而開發出包括云端、Web、桌面、移動、人工智能和物聯網等多平臺的各類應用程序。
性能亮點:更強、更快
對于C#11語言而言,其目標是使開發人員能夠編寫更少的代碼。.NET 7在通過對象初始化增強、支持原始字符串字面量和其他功能簡化編碼的同時,實現了泛型數學等新特性。
此外,其他亮點還包括:
- 持續改進性能。
- 一個BCL(基礎類庫)。
- 本機支持ARM64系統。
- 針對Linux系統的增強的.NET支持。
- HTTP/3和針對云原生應用程序的最小化打包API的改進。
- 針對控制臺應用程序的本機AOT(提前編譯:Ahead-of-time compilation)支持。這樣可以生成針對目標平臺的特定文件格式的獨立可執行的二進制文件,從而實現快速啟動和小型獨立部署等優點。
- F# 7函數語言功能繼續致力于可靠性和對現有特征的支持。
另外值得注意的是, .NET 7與ASP.NET Core、Entity Framework,以及 .NET MAUI(多平臺應用程序UI)、Windows Forms、Windows Presentation Foundation和用于構建分布式應用程序的Orleans 7框架等一起發行。同時,對于Blazor Web應用程序開發工具,.NET 7改進了WebAssembly調試體驗,并支持針對位置改變這種事件的處理。
其中,.NET MAUI被視為 .NET跨平臺原生UI的未來,于9月初次亮相。但彼時曾有一部分開發者對此表示不滿,因為他們不相信該技術已經完全成熟。而在.NET 7中,可以看到,.NET MAUI在桌?應?的?持有了進一步改善,對手勢、桌?菜單、?標?持、右鍵菜單、窗體縮放都有了很好的?持。在開發體驗上.NET MAUI已經可以?持IOS 16和Android 13。
在.NET 7版本正式發布之前,微軟.NET團隊開發者Stephen Toub專門就.NET 7的效能改進做了詳細說明。微軟在每個.NET版本都強調效能改進,因此也有開發者質疑,如果說 .NET 6的效能已經提升到一個程度,.NET 7是否還有效能提升的空間。
對此,Stephen Toub強調:.NET 7的速度“非常快”,Runtime和核心函數庫加入了1,000個效能相關的拉取請求,而且在ASP.NET Core、Windows Forms和Entity Framework也有各種改進。他表示,這一版本將是有史以來最快的.NET。他甚至提到,當開發者被經理問到為什么要升級到.NET 7,可以直接回答“.NET 7 is super fast.”
伴隨著.NET 7的發行,目前微軟正在發布Visual Studio 2022 17.4 IDE。Visual Studio 2022為當前的集成開發環境引入了64位功能。在此產品發布之前,.NET 7經歷了廣泛的預覽和發布候選階段。.NET 8很可能會在一年內問世,預計將專注類似如現代工作負載、Web API以及更多的有關無縫云原生開發這樣的主題。
.NET 7發布之后C#有沒有可能超過JAVA?
新版本發布后,知乎論壇出現了這樣一則問題:“.NET 7發布之后,C#有沒有可能超過Java?”對此,不少開發者留下了各自的見解。
觀點1:在國外.NET已經足夠繁榮,但國內,很多人對C#、.NET有很大的偏見。.NET能否吃掉Java的一部分市場依舊有待商榷。從個體角度看,人均薪酬上.NET不如Java,人均就業機會上.NET大于Java。
截圖@知乎
觀點2:從性能上看.NET超越了Java,但是從生態上來看,Java遠勝.NET,這種局面長期不會有很大改變。
觀點3:自己覺得好的話就用,不用糾結超不超過的問題。這些流行語言選哪種學到一定深度, 都碾壓語言差異帶來的優勢。
?https://www.infoworld.com/article/3679328/microsoft-net-7-makes-its-official-debut.html??
來源: 51CTO技術棧