为什么说拥抱.NET CORE的时候到了
微軟和社區(qū)已經(jīng)做了大量艱苦的工作,使.Net Core成為市場上具有競爭力的框架,幫助開發(fā)人員快速開發(fā)具有最佳性能和可擴展性的強大應(yīng)用程序。做的最棒的事情是.Net Framework開發(fā)人員不需要任何新知識來處理.Net Core。這也是開發(fā)人員在很短的時間內(nèi)采用.Net Core的原因之一。對于非.NET開發(fā)的Spring Boot,NodeJs,go等開發(fā)人員來到.NET Core有著非常熟悉的模型,也可以很短的時間內(nèi)熟悉和愛上.NET Core.
我非常的熱愛.NET Core, 不是那種盲目的熱愛,我將給你分享我使用?.Net Core?以及為什么我認為.Net Core?將是2019年最好的框架的理由。
首先我們不能有偏見,每一種語言都有自己擅長的領(lǐng)域,但我在這里提到的是這些語言的強勢領(lǐng)域:
Python:機器學(xué)習(xí),數(shù)據(jù)科學(xué)還有Web開發(fā)。
JavaScript:Web開發(fā)(前端和后端)和游戲開發(fā)。
Java:?移動Android應(yīng)用程序開發(fā),企業(yè)應(yīng)用程序,甚至Web開發(fā)。
C ++和C:?操作系統(tǒng),關(guān)鍵性能解決方案,嵌入式系統(tǒng)以及任何需要低級別能力的東西。
那么我為什么認為.NET Core 是2019年最好的開發(fā)框架,這里首先要澄清一件事情就是語言和框架,不然就會出現(xiàn)Python比.NET Core好的評論。一個編程語言是編寫一個程序需要遵循的一組任務(wù),而一個框架是為特定的編程語言編寫的實用工具的集合。例如,C#是一種編程語言。Microsoft 在C#中構(gòu)建了.NET和.NET Core框架,這樣開發(fā)人員就比從零開始創(chuàng)建C#應(yīng)用程序快得多。
這一張圖就是我熱愛.NET Core的原因,多功能性:
我已經(jīng)使用.NET Core 3年多時間,做過.NET Core 幾十個項目,從去年離開騰訊自己創(chuàng)業(yè)以來,也服務(wù)過多家客戶,大家都逐步從.NET 向.NET Core遷移,最近也正在做一個調(diào)查,從現(xiàn)有數(shù)據(jù)看還是有30%的同學(xué)還是在.NET Framework,對.NET Core還沒有著手。
多功能性是.Net Core 成為我的生活一部分的最好解釋。如果您是Web開發(fā)人員還是想開發(fā)桌面或移動應(yīng)用程序,如果您是游戲開發(fā)人員或想要從事機器學(xué)習(xí),.NET Core就在您身邊。
Xamarin? 使得我們使用Microsoft知識開發(fā)跨平臺移動應(yīng)用程序,Unity用于開發(fā)游戲。您還可以使用UWP 構(gòu)建桌面應(yīng)用程序 。Asp.net Core也是開發(fā)功能強大的基于Web的應(yīng)用程序的主要參與者,提供了驚人的SPA Angular模板以及SignalR的實時應(yīng)用程序等等。
云原生計算的發(fā)展驅(qū)動著各個企業(yè)轉(zhuǎn)向遵循云原生原則(啟動速度快、內(nèi)存占用低)的 .NET Core。.NET Core 對Docker容器的支持非常好,這使您可以輕松地將應(yīng)用程序部署到云端,您只需單擊幾下即可在云上進行開發(fā)和部署。
ML.NET?是面向.NET開發(fā)人員的機器學(xué)習(xí)框架,當我們談?wù)撐④?Azure中的認知服務(wù)時,我們真的在談?wù)撋唐坊?strong>AI(人工智能),ML.NET 賦予我們的應(yīng)用程序員AI能力。
Blazor ?也將接管一些JavaScript功能,不需要懂 AngularJS, React, Vue, 充分利用 .NET 的穩(wěn)定性和一致性,讓我們成為全棧的Web開發(fā)人員。
.NET Core吸引人的功能還有很多,像高性能,開源,宇宙第一的開發(fā)人員工具等等。這里我就分享一下Raygun的CEO兼聯(lián)合創(chuàng)始人對.NET Core的評價,具體參見https://dotnet.microsoft.com/platform/customers:
很多人都喜歡NodeJs 轉(zhuǎn)go, Raygun 為啥轉(zhuǎn)向了.NET Core呢,我特意去研究了一下Raygun的這個案例:https://customers.microsoft.com/en-us/story/raygun。早在2013年 Raygun 同時使用了Node,go 和.NET Framework, 核心業(yè)務(wù)是使用.NET Framework構(gòu)建的,所以也嘗試了研究了使用Mono構(gòu)建API層,Mono的使用不夠理想,所以他們開始探索不同語言和運行時的優(yōu)缺點。似乎Node.js為運行的短小事務(wù)提供了一個非常好的模型。Raygun 將Mono轉(zhuǎn)移到Node.js上,Raygun 找到了一個更加穩(wěn)定的環(huán)境,獲得了類似的吞吐量,但是它不像是一場重大的性能勝利。隨著時間的推移,Raygun工程師注意到Node.js API的性能正在降低。“隨著新版本的推出,我們發(fā)現(xiàn)Node.js作為一個框架變得越來越慢,越來越重量級,”Raygun聯(lián)合創(chuàng)始人兼首席技術(shù)官Jeremy Boyd說。工程師們考慮增加服務(wù)器容量,但即使基于云的服務(wù)器成本相對較低,大幅增加云服務(wù)器也會導(dǎo)致成本上升。Raygun開發(fā)人員決定專注于最大化現(xiàn)有API節(jié)點的性能。當該公司獲悉微軟即將發(fā)布.NET Core,Raygun 安排了兩個開發(fā)人員花了大約兩周時間將API移植到.NET Core,然后驗證測試工作負載的性能。當他們對API的.NET核心版本是正確的感到滿意時,他們啟動了一組運行新軟件的新節(jié)點,然后將這些節(jié)點旋轉(zhuǎn)到現(xiàn)有的生產(chǎn)節(jié)點集群中, Raygun這個嘗試獲得了200倍的收益。Raygun的案例對于以.NET 技術(shù)構(gòu)建業(yè)務(wù)的公司特別有啟發(fā),也許你已經(jīng)或者計劃從.NET轉(zhuǎn)移到其他平臺,不妨抽出一些時間來嘗試一下.NET Core.
我毫不懷疑,.NET Core是未來,Microsoft正在添加新功能,以幫助開發(fā)人員進行每次更新。和PHP MVC框架,Python和Java相比較, 我可以說.Net Core沒有限制,更加開放。
原文地址:https://www.cnblogs.com/shanyou/p/11219156.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結(jié)
以上是生活随笔為你收集整理的为什么说拥抱.NET CORE的时候到了的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在 VS Code 中轻松 review
- 下一篇: 使用Azure云原生构建博客是怎样一种体