到底該不該升級.NET5,大佬們是這樣說的...
.NET5正式發(fā)布有十多天,博客園、知乎、技術(shù)群都討論的非常熱烈。關(guān)于項目是否遷移.NET5的話題討論的尤為熱烈,作為.NET十年老司機要告訴你,.NET5的遷移勢在必行,當(dāng)下就是最好的時機!猶豫項目是否升級到.NET5的,大概有以下幾種情況,我來一一解析:
1 ?堅守.NET Framework,不愿升級
19年微軟都已經(jīng)聲明,.NET Framework4.8之后就不再更新,不再添加新功能,因為.NET5.0開始了迭代,也許個人技術(shù)棧還停留在.NET Framework,但大勢決定了升級是必須的,嘗試下新平臺也會有意外之喜的。
2 ?.NET5移除了WCF和WWF,沒有替代
關(guān)于這個問題,Scott Hunter博客有說明,推薦用WebAPI或者gRPC來代替WCF,此外還有個.NET Core WCF客戶端可以用來調(diào)用WCF服務(wù);再就是用開源的Core Workflow來代替WWF,替代方案是有的,請往前看。
3 ?.NET5只是GA版,不是LTS
這其實沒必要在意,.NET5是經(jīng)過線上Bing.com、dot.net試運行了多個月才發(fā)布的,足夠穩(wěn)定可靠,微軟官方推薦可用于生產(chǎn)環(huán)境的,有微軟的背書,就放心用吧。后續(xù).NET6也是平滑升級的,早升級早省事兒。
4 ?Winform/WPF并沒有跨平臺
這個理由是沒問題的,目前桌面開發(fā)尚未有跨平臺UI解決方案,且很多客戶端項目都依賴了Windows組件,缺乏替代方案。桌面開發(fā)升級.NET5只有性能提升的優(yōu)勢,當(dāng)下還沒有遷移的必須性,等.NET6的跨平臺UI方案出來后再升級不遲。
以上是幾種情況的分析,如有遺漏歡迎補充交流。下面再給大家總結(jié)下本次.NET5發(fā)布的亮點,增加你的遷移.NET5動力!.NET Core3.1已經(jīng)是性能怪獸了,各種性能榜單稱雄,而.NET5在此基礎(chǔ)上,又額外進(jìn)步了很多!
1
通過線上(生產(chǎn)環(huán)境)測試:.NET5 通過在bing.com和dot.net 托管運行數(shù)個月,全面通過了線上驗證,證明這個版本是生產(chǎn)可用的。
2
性能大幅提升:GC、JIT、正則表達(dá)式、多線程和異步處理、集合、LINQ、網(wǎng)絡(luò)訪問、JSON序列化、gRPC等。
3
C# 9和F# 5 的語言提升:例如C#9的頂級程序和記錄record,F(xiàn)#5提供了交互式編程,并提高了.NET的性能。
4
.NET庫增強了Json序列化,正則表達(dá)式和HTTP(HTTP 1.1,HTTP / 2)的性能。
5
P95 的延遲有所減少,得益于GC、分層編譯和其他組件的一些改進(jìn)。
6
更好、更靈活的應(yīng)用部署選項:ClickOnce客戶端應(yīng)用程序發(fā)布,單文件應(yīng)用程序,減小的容器映像大小以及添加的Server Core容器映像。
7
平臺支持的范圍進(jìn)一步擴展:Windows Arm64和WebAssembly
本人親自實操
我總結(jié)了下,猶豫遷移.NET5的人,更多只是因為還沒去深入了解,缺乏動手經(jīng)驗,只是看了一些文章人云亦云。這里,本人肝了一周,給大家錄制了一波.NET5實操視頻,算得上全網(wǎng)首發(fā),希望給.NET開發(fā)者一些幫助。