.NET5.0 初始
.NET 5.0 初識
- .NET 5 的開始
- .NET5,完成統(tǒng)一
- DotNetdaily容器支持優(yōu)勢
- .NET 5 優(yōu)勢
- 總結(jié)
.NET 5 的開始
.NET5.0正式發(fā)布了!這是一個重要的版本—其中也包括了C# 5大量新特性和優(yōu)秀的改進(jìn)。微軟和其他公司的團(tuán)隊已經(jīng)在生產(chǎn)和性能測試環(huán)境中開始使用了。這些團(tuán)隊反饋的結(jié)果比較令人滿意,它證明了對性能提升及降低Web應(yīng)用托管成本的機(jī)會有積極的表現(xiàn)。
微軟希望 .NET Framework .NET Core開發(fā)者能夠遷移他們的代碼和應(yīng)用到 .NET 5.0 上,為明年發(fā)布的 .NET 6.0 將 Xamarin 開發(fā)者過渡到統(tǒng)一平臺奠定基礎(chǔ)。
很明顯以后只會有一個.NET平臺,NET 5.0是.NET Framework和.NET Core核心的結(jié)合,旨在統(tǒng)一.NET平臺,微軟將其描述為“.NET的未來”。
.NET5,完成統(tǒng)一
微軟2019全球開發(fā)者大會上正式宣布的.NET5,其主要目標(biāo)之一是提供一個單一的、跨平臺的.NET 運行時和具有統(tǒng)一運行時行為和開發(fā)者體驗的框架。在第一次宣布這個項目時,.NET 團(tuán)隊的程序經(jīng)理 Richard Lander 強(qiáng)調(diào)了這個項目的重要性:
未來只會有一個.NET,可以支持 Windows、Linux、macOS、iOS、Android、tvOS、watchOS 和 WebAssembly,等等。我們將引入新的.NET API、運行時功能和語言特性作為.NET 5 的一部分。此外,我們想清楚地告訴大家,.NET 5 是.NET 平臺的未來。
時至今日,.NE5 RC1發(fā)布,也同步發(fā)布了http://ASP.NET Core和EF Core的RC1版本,能看到各平臺的打通,能看到底層CLR和BCL的通用,能看到多個方向的應(yīng)用框架用法,跟.NET Core3.1的區(qū)別并不大。從2016年分裂的.NET Framework和.NET Core被.NET5完成了統(tǒng)一!
DotNetdaily容器支持優(yōu)勢
新的互聯(lián)網(wǎng)技術(shù)時代已經(jīng)來臨了,容器、Kubernetes、DevOps、微服務(wù)、云原生才是技術(shù)前進(jìn)的方向,其中容器技術(shù)屬于基石。從.NET Core誕生直到.NET5 RC1,都能持續(xù)看到平臺對容器技術(shù)的官方支持和適配改進(jìn),RC1里面還強(qiáng)調(diào)了有著更小的容器鏡像。.NET5+Docker容器化后還有其他語言無可比擬的優(yōu)勢!
1 體積更小
.NET5的鏡像體積都很小,alpine的鏡像更小,帶上應(yīng)用程序也才80M,對于微服務(wù)分布式架構(gòu)而言,更小的體積意味著更少的下載帶寬,更快的分發(fā)下載速度。
2 占用資源更少
.NET5的CLR+默認(rèn)http://ASP.NET Core框架頁面啟動后,僅需22M內(nèi)存,同比Java8已經(jīng)需要120M了,運行時資源占用也更低,意味著更高的部署密度和更低的計算成本。
3 啟動速度更快
.NET5的 CLR啟動速度非常快,而啟動速度就意味著交付效率和回滾效率,在動輒數(shù)百個副本微服務(wù)時,啟動速度就是個非常重要的特性。
4 容器感知,低配運行
.NET5 默認(rèn)更好的支持Docker資源限制,官方團(tuán)隊也在努力讓.NET5成為真正的容器運行時,使其在低內(nèi)存環(huán)境中具有容器感知功能并高效運行,遠(yuǎn)超其他平臺。
.NET 5 優(yōu)勢
1 開源跨平臺
跟windows綁定和閉源,讓.NET錯失了移動互聯(lián)網(wǎng)時代,當(dāng)下.NET5對開源跨平臺的支持可謂不遺余力:.NET5全面開源、收購GitHub、官方團(tuán)隊助力開源,不僅.NET5運行時支持各平臺,甚至還專門提供了VS Code這一全新開發(fā)神器支持跨平臺!全球500w的.NET開發(fā)者,其中有200W開始了跨平臺,大量的項目運行在Linux,開源社區(qū)也極度火熱,一切都預(yù)兆著,大勢所趨!
2 極致性能
年初.NET Core3.1發(fā)布后,.NET Core性能和ASP.NET Core性能各種霸榜,下圖是TechEmpower第19輪編程語言框架性能排行榜,ASP.NET Core排第6,Golang第29,Java,34,NodeJS第73,PHP第348,換言之是主流Web框架中排名第一的存在!.NET5發(fā)布的日志中明確聲明,相對于.NET Core3.1,.NET5性能再度提升。
3 按需使用
嘗試下ASP.NET Core開發(fā),都會發(fā)現(xiàn)一個特征:框架里面移除了很多默認(rèn)組件,最典型的就是Session都沒有了,用的話需要自行配置中間件,隨處可見各種擴(kuò)展方法以分離組件,無處不在的IOC,這些都是為了最小化框架設(shè)計,讓程序能夠按需去加載需要的東西,去掉多余的,做到Pay-For-What-You-Use。
4 能屈能伸
現(xiàn)代化的終端設(shè)備變得越來越豐富,既有高性能的服務(wù)器,也有低配的便攜設(shè)備,甚至在云環(huán)境下,大的服務(wù)器也需要拆分成小的資源體來使用,全新設(shè)計的.NET5,既能在高配服務(wù)器上以高性能模式運行,管理大量內(nèi)存、使用大量CPU資源、保持高并發(fā)和高可用,也能在各種低配終端和低資源容器內(nèi)正常運轉(zhuǎn),真心666!
5 順應(yīng)大勢
移動互聯(lián)網(wǎng)的大潮.NET錯過了,而當(dāng)下互聯(lián)網(wǎng)的大潮就是微服務(wù)云原生,.NET5占據(jù)先機(jī)。最小的ASP.NET Core鏡像只有80多M,這意味著更快的分發(fā)部署;毫秒級內(nèi)完成冷啟動,這意味著更高的交付效率和回滾效率,運行時低資源訴求,這意味著更高的部署密度和更低的計算成本。
6 新技術(shù)紅利
經(jīng)過.NET Framework和.NET Core的4年雙線并行,到現(xiàn)在終止Framework版本更新,倒逼企業(yè)和開發(fā)者跟進(jìn)最新.NET5,新框架新平臺都是汲取前任智慧,結(jié)合當(dāng)前技術(shù)的產(chǎn)物,毋庸置疑具備著先進(jìn)性!當(dāng)下.NET的最好選擇就是最新版本,不用考慮LTS問題,平臺本身保持著兼容,開發(fā)者可以充分享受新技術(shù)紅利,相對于停滯在Java8,簡直不要太優(yōu)秀!
7 微軟決心
最后就是微軟對.NET5的決心了,從Build2020對開發(fā)者的重視,到Conf2020對中國.NET社區(qū)的重視,從長遠(yuǎn)的.NET版本規(guī)劃(2021年.NET6,2022年.NET7),到對社區(qū)各種.NET開源項目的支持和鼓勵,微軟是真的走上了一條全新路線,讓全球500w.NET開發(fā)者一起來發(fā)展.NET,何其有幸!
總結(jié)
總而言之 .NET 5 跨平臺,性能強(qiáng),更適合新時代,特別是強(qiáng)大和性能和按需加載的小鏡像包與容器技術(shù)特別般配。
我個人技術(shù)學(xué)習(xí)到了需要選擇一個技術(shù)方向,之前我還在糾結(jié)是否轉(zhuǎn)回 JAVA Spring全家桶,但是最近兩年我主要都是使用.NET C# 作為主要開發(fā)語言,加上.NET5的發(fā)布與今年MS的發(fā)力,所以我還是決定繼續(xù)跟著MS老哥混社會,學(xué)習(xí).NET 5,而后學(xué)習(xí)MS的Cloud,去通過MS認(rèn)證。
這個教程我會從頭開始寫,以C#作為開發(fā)語言學(xué)習(xí),大概思路是:
第一步:
介紹學(xué)習(xí) .NET 中常用的Web技術(shù),比如:WebAplication/MVC/ API等。
補(bǔ)充介紹C#特性和其他技術(shù)原理,比如:C#語言特性/Http協(xié)議/RestFul規(guī)范等。
第二步:
介紹學(xué)習(xí)以ABP為主的各種框架和技術(shù),比如:AOP IOC ORM等
補(bǔ)充介紹Auth2.0/領(lǐng)域設(shè)計/數(shù)據(jù)庫技術(shù)等。
第三步:
介紹學(xué)習(xí)Vue.js的開發(fā)
補(bǔ)充介紹Vuetify和Element組件的使用和Android移動端H5的開發(fā)。(以前寫的應(yīng)用是原生,但是現(xiàn)在我已經(jīng)放棄了,精力有限)
第四步:
以微服務(wù),Redis,Docker,Linux為主的開發(fā)學(xué)習(xí)。
補(bǔ)充微信小程序開發(fā)/PAAS/虛擬化/負(fù)載均衡等技術(shù)介紹。
希望與我有相同目標(biāo)的各位一起加油!
總結(jié)
以上是生活随笔為你收集整理的.NET5.0 初始的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java jsonsql_java遍历解
- 下一篇: Html.from()加载网络图片