爲何說是時候擁抱.NET CORE了?

微軟和社區已經作了大量艱苦的工做,使.Net Core成爲市場上具備競爭力的框架,幫助開發人員快速開發具備最佳性能和可擴展性的強大應用程序。作的最棒的事情是.Net Framework開發人員不須要任何新知識來處理.Net Core。這也是開發人員在很短的時間內採用.Net Core的緣由之一。對於非.NET開發的Spring Boot,NodeJs,go等開發人員來到.NET Core有着很是熟悉的模型,也能夠很短的時間內熟悉和愛上.NET Core.前端

我很是的熱愛.NET Core, 不是那種盲目的熱愛,我將給你分享我使用 .Net Core 以及爲何我認爲.Net Core 將是2019年最好的框架的理由。程序員

首先咱們不能有偏見,每一種語言都有本身擅長的領域,但我在這裏提到的是這些語言的強勢領域:編程

Python:機器學習,數據科學還有Web開發。windows

JavaScript:Web開發(前端和後端)和遊戲開發。後端

Java: 移動Android應用程序開發,企業應用程序,甚至Web開發。服務器

C ++和C: 操做系統,關鍵性能解決方案,嵌入式系統以及任何須要低級別能力的東西。app

那麼我爲何認爲.NET Core 是2019年最好的開發框架,這裏首先要澄清一件事情就是語言和框架,否則就會出現Python比.NET Core好的評論。 一個編程語言是編寫一個程序須要遵循的一組任務,而一個框架是爲特定的編程語言編寫的實用工具的集合。例如,C#是一種編程語言。Microsoft 在C#中構建了.NET.NET Core框架,這樣開發人員就比從零開始建立C#應用程序快得多。框架

這一張圖就是我熱愛.NET Core的緣由,多功能性:asp.net

image

我已經使用.NET Core 3年多時間,作過.NET Core 幾十個項目,從去年離開騰訊本身創業以來,也服務過多家客戶,你們都逐步從.NET 向.NET Core遷移,最近也正在作一個調查,從現有數據看仍是有30%的同窗仍是在.NET Framework,對.NET Core尚未着手。機器學習

多功能性是.Net Core 成爲個人生活一部分的最好解釋。若是您是Web開發人員仍是想開發桌面或移動應用程序,若是您是遊戲開發人員或想要從事機器學習,.NET Core就在您身邊。

Xamarin  使得咱們使用Microsoft知識開發跨平臺移動應用程序,Unity用於開發遊戲。您還可使用UWP 構建桌面應用程序 。Asp.net Core也是開發功能強大的基於Web的應用程序的主要參與者,提供了驚人的SPA Angular模板以及SignalR的實時應用程序等等。

雲原生計算的發展驅動着各個企業轉向遵循雲原生原則(啓動速度快、內存佔用低)的 .NET Core。.NET Core 對Docker容器的支持很是好,這使您能夠輕鬆地將應用程序部署到雲端,您只需單擊幾下便可在雲上進行開發和部署。

ML.NET 是面向.NET開發人員的機器學習框架,當咱們談論微軟 Azure中的認知服務時,咱們真的在談論商品化的AI(人工智能),ML.NET 賦予咱們的應用程序員AI能力。

Blazor  也將接管一些JavaScript功能,不須要懂 AngularJS, React, Vue, 充分利用 .NET 的穩定性和一致性,讓咱們成爲全棧的Web開發人員。

.NET Core吸引人的功能還有不少,像高性能,開源,宇宙第一的開發人員工具等等。這裏我就分享一下Raygun的CEO兼聯合創始人對.NET Core的評價,具體參見https://dotnet.microsoft.com/platform/customers

image

不少人都喜歡NodeJs 轉go, Raygun 爲啥轉向了.NET Core呢,我特地去研究了一下Raygun的這個案例:https://customers.microsoft.com/en-us/story/raygun。 早在2013年 Raygun 同時使用了Node,go 和.NET Framework, 核心業務是使用.NET Framework構建的,因此也嘗試了研究了使用Mono構建API層,Mono的使用不夠理想,因此他們開始探索不一樣語言和運行時的優缺點。彷佛Node.js爲運行的短小事務提供了一個很是好的模型。Raygun 將Mono轉移到Node.js上,Raygun 找到了一個更加穩定的環境,得到了相似的吞吐量,可是它不像是一場重大的性能勝利。隨着時間的推移,Raygun工程師注意到Node.js API的性能正在下降。「隨着新版本的推出,咱們發現Node.js做爲一個框架變得愈來愈慢,愈來愈重量級,」Raygun聯合創始人兼首席技術官Jeremy Boyd說。工程師們考慮增長服務器容量,但即便基於雲的服務器成本相對較低,大幅增長雲服務器也會致使成本上升。 Raygun開發人員決定專一於最大化現有API節點的性能。當該公司獲悉微軟即將發佈.NET Core,Raygun 安排了兩個開發人員花了大約兩週時間將API移植到.NET Core,而後驗證測試工做負載的性能。當他們對API的.NET核心版本是正確的感到滿意時,他們啓動了一組運行新軟件的新節點,而後將這些節點旋轉到現有的生產節點集羣中, Raygun這個嘗試得到了200倍的收益。Raygun的案例對於以.NET 技術構建業務的公司特別有啓發,也許你已經或者計劃從.NET轉移到其餘平臺,不妨抽出一些時間來嘗試一下.NET Core.

我絕不懷疑,.NET Core是將來,Microsoft正在添加新功能,以幫助開發人員進行每次更新。和PHP MVC框架,Python和Java相比較, 我能夠說.Net Core沒有限制,更加開放。

相關文章
相關標籤/搜索