是時候擁抱.NET CORE了
微軟和社區已經做了大量艱苦的工作,使.net core成為市場上具有競爭力的框架,幫助開發人員快速開發具有最佳性能和可擴展性的強大應用程式。做的最棒的事情使.net framework開發人員不需要任何新的知識來處理.net core,這也是開發人員在很短時間內採用.net core的原因之一。對於非.net開發的spring boot、node js、go等開發人員來到.net core有著非常熟悉的模型,也可以很短的時間內熟悉和愛上.net core。
我非常地熱愛.net core,不是那種盲目地熱愛,我將給你分享我使用.net core以及為什麼我人為.net core將是2019年後最好的框架地理由(哈哈,這會不會引起戰爭)。
首先我們不能有偏見,每一種語言都有著自己擅長的領域,但我在這裡提到的是這些語言的強勢領域:
Python:機器學習。數據科學還有Web開發。
JavaScript:Web開發(前端和後端)和遊戲開發
Java:移動Android應用程式開發,企業應用程式、Web開發
C++和C:作業系統、關鍵性能解決方案,嵌入式系統以及任何需要低級別能力的東西
那麼我為什麼人為.net core是2019年後最好的開發框架,這裡首先要澄清一件事情就是語言和框架,不然就會出現Python比.net core好的評論,一個程式語言是編寫一個程式需要遵循的一組任務,而一個框架是為特定的程式語言編寫的實用工具集合。例如,C#是一種程式語言,Microsoft 在 C#中構建了.net 和.net core 框架,這樣開發人員就比從零開始創建C#應用程式快的多。
這一張圖就是我熱愛.net core的原因,多功能性:
我已經試用.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的評價,具體參見:
很多人都喜歡NodeJs轉go,Raygun為啥轉向了.NET Core呢,早在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,然後驗證測試工作負載的性能,然後將這些節點旋轉到現有的生產節點集群中,Raygun這個嘗試獲得了200倍的收益。Raygun的案例對於以.NET技術構建業務的公司特別有啟發,也許你已經或者計劃從.NET轉移到其他平台,不妨抽出一些時間來嘗試一下.NET Core。
我毫不懷疑,.NET Core是未來,Microsoft正在添加新功能,以幫助開發人員進行每次更新。和PHP MVC框架,Python和Java相比較,我可以說.NET Core沒有限制,更加開放。