.Net Core 會逆襲成爲最受歡迎開發平臺嗎?

本文由葡萄城技術團隊於博客園原創並首發css

轉載請註明出處:葡萄城官網,葡萄城爲開發者提供專業的開發工具、解決方案和服務,賦能開發者。前端

.Net Core 是什麼?

最新.Net Core 熱詞霸佔了各個技術熱搜,看來微軟近年來發布的 .Net Core 仍是成功了引發了你們的熱烈討論。若是您對微軟熟悉,確定是很瞭解.Net 平臺,可是隨着互聯網的興起,好像微軟這個霸主的地位有所撼動。正則表達式

 

.NET Core 是.NET Framework的新一代版本,是微軟開發的第一個跨平臺 (WindowsMac OSXLinux) 的應用程序開發框架(Application Framework),將來也將會支持 FreeBSD 與 Alpine 平臺。.Net Core也是微軟在一開始發展時就開源的軟件平臺[1],因爲 .NET Core 的開發目標是跨平臺的所以 .NET Core 會包含 .NET Framework 的類別庫,但與 .NET Framework 不一樣的是 .NET Core 採用包化 (Packages) 的管理方式,應用程序只須要獲取須要的組件便可,與 .NET Framework 大包式安裝的做法大相徑庭,同時各包亦有獨立的版本線 (Version line),再也不硬性要求應用程序跟隨主線版本。後端

 

重點來啦:服務器

  • 跨平臺:可在 Windows、macOS 和 Linux 操做系統上運行
  • 跨體系結構保持一致:在多個體繫結構(包括 x6四、x86 和 ARM)上以相同的行爲運行代碼
  • 命令行工具:包括可用於本地開發和持續集成方案中的易於使用的命令行工具。
  • 部署靈活:能夠包含在應用或已安裝的並行(用戶或系統範圍安裝)中。 可搭配 Docker 容器使用
  • 兼容性: .NET Core 經過 .NET Standard 與 .NET Framework、Xamarin 和 Mono 兼容
  • 開放源代碼: .NET Core 平臺是開放源代碼,使用 MIT 和 Apache 2 許可證。 .NET Core 是一個 .NET Foundation 項目
  • 強勁性能:超強的後臺性能,超出.Net Framework
  • 支持命令行執行全部操做

 

.Net Core 當前的現狀是什麼

目前能夠看到不少傳統行業的信息系統也在逐漸升級平臺,並且不少大的互聯網公司也已經使用,畢竟一次開發便可實現跨平臺的部署及應用,也是減小成本的重要體現。框架

 

能夠肯定.Net Core 是將來的發展趨勢。 .Net FrameWork也會延續使用,畢竟短時間內遷移一些大型項目是頗有難度的,並且也不太可能。.Net Core 和.Net FrameWork 的關係就如同是新能源汽車和傳統穩定的油耗汽車。油耗汽車已經經歷了多年的發展,技術很是成熟穩定,能夠放心自由的使用。而新能源汽車是一個新興的技術,也是將來將要取待傳統技術的將來發展方向,因此使用.Net Core 開發項目必須越早越好。編輯器

 

.Net Core 與. Net FrameWork 對比:工具

.NET Core性能

.NET Framework開發工具

跨平臺 (OS platform): 支持Windows, Linux, 及 macOS

僅支持在 Windows運行

安裝過程是獨立,端對端,能夠在同一計算器中爲應用程序指定獨立的.Net Core 版本。

一臺計算機上的全部應用程序都在同一.NET Framework版本上運行

高性能:在集合,數學,正則表達式,字符串,文件等方面都有提高。.

高兼容性

開源: 基於.NET平臺既能夠根據 MIT或 Apache 2 受權

與最普遍的NuGet軟件包,第三方庫和內部庫兼容

v2.0 實現了.NET Standard 2.0¹

v4.6.1+ 以上版本支持s .NET Standard 2.0

 

使用.Net Core 優點:

1. 支持在任何平臺部署,跨平臺幾乎沒有任何成本

2. 龐大的.Net 標準庫支持

3. 面向高性能的服務器開發,基於 微軟 Azure雲的平臺優點,已提供高性能的服務。

4. 高性能和可移植性

5. 兼容多平臺

 

如何平滑的遷移項目至.Net Core 平臺

不少原有的項目是基於.Net FrameWork 開發的,多是 Windows. WPF, ASP.NET MVC,那自己的侷限是隻能在Windows系統部署外,還涉及到一些核心功能的實現。傳統框架的種種不足,須要大的突破和改變。這意味着打破變化,但結果是值得期待的。

 

遷移原有項目到新的.Net Core 平臺意味着你能夠保留舊項目的全部核心業務功能,不須要重構整個項目,從0開始開發。如下是咱們根據經驗給出了幾類的應用的遷移難度。

項目類型

遷移難易程度

Web 應用: ASP.NET MVC

簡單

WebForm 應用

不建議遷移,由於.Net Core 支持 WebForm

Windows 應用 (Universal Framework)

不須要遷移

Windows 應用(基於Sliverlight)

簡單

WPF 及WinForms 桌面應用

複雜

控制檯應用

簡單

 

1. 遷移仍是重構

若是針對前端項目,遷移是最佳選擇,畢竟前端代碼都可複用,惟一要改動的就是後端代碼。儘管.Net Core 和.Net Frame Work 項目都是基於C# 語言作開發的,然而二者是不一樣的運行機制。因此若是是後端很重的項目,仍是建議重寫,這樣也會利用一些新技術的優點。

 

2. NuGet 包

在遷移以前,須要確認引用的.Net 標準庫是否在.Net Core中支持或丟棄,若是不支持的話,就須要考慮如何用新的包代替或者當前功能的重構。

.Net 標準包是在.Net 4.6.1 和.Net Core 中均可使用的,因此只須要可使用該技術升級舊的PCL。若是你添加了.Net 標準庫的引用,一樣也能夠在.Net Core 項目中使用。

 

3. Html / JavaScript / CSS 複用

能夠將這些文件直接複製到.NET Core解決方案中。 可是,請確保更改代碼中的文件路徑,例如CSS中的圖像路徑。 由於經典的ASP.NET / MVC模板使用「 / Content /」目錄,而.NET Core使用「 / css /」,「 / js /」,「 / lib /」等。對此沒有任何限制,它們只是約定而已 。

 

如何選擇.Net Core 的開發工具

在開發項目時候,新的平臺和技術老是帶給你項目的一些新的重大突破功能,好比性能,好比核心功能提高,因此不只咱們的項目要一直跟隨升級,咱們所選擇的開發工具,也要緊跟技術前沿,甚至要領先於咱們的項目升級進度,爲咱們開發項目始終提供最有力的技術支持。

 

.NET Core是多平臺應用程序的將來。 如咱們所見,.NET Core提供了傳統框架不支持的強大的本機新功能。 另外一方面,.NET Core並不徹底支持全部現有的應用程序類型進行遷移,尤爲是那些與Windows OS緊密集成的應用程序類型,所以必須仔細考慮並計劃這些挑戰。

 

因此咱們在選擇新平臺的同時,也須要考慮一些輔助開發的工具。以及這些工具在該領域的技術背景,是否足夠穩定,是否有足夠明確的將來,甚至比咱們更能預先跟蹤將來的技術棧,以始終在咱們遷移新項目的時候提供輔助工具。

 

這裏推介一些支持.Net Core 平臺的開發控件:

  • API Protability Tool。這是一款輔助.net開發者在不一樣的開發框架上遷移源代碼工程的靜態代碼審查工具。因爲.net framework具備多個歷史版本,而且.net core以及Xamarin等開發框架在基礎類庫中實現API數量和類型有不少的不一致狀況。.net開發者想把自身源代碼升級到更高的.net版本或者遷移到其餘的.net開發框架上,會面臨不少API調用不兼容的問題。該工具就是幫助.net開發者審查.net項目的源代碼,並生成審查報告,快速幫助開發人員找到不兼容代碼行以及協助評估遷移工做量。
  • PostMan,Postman是一款支持跨平臺的應用程序,用來幫助開發者快速構建和測試REST API 服務。Postman能夠模擬HTTP請求的全部謂詞,用於REST API的測試。
  • Visual Studio Code , Visual Studio Code是跨操做系統平臺的輕量級代碼編輯器。支持絕大多數主流語言編譯和調試的能力。

 

綜上所述,不管從其性能和生態上預測,.NET Core 都極有可能成爲最受歡迎的開發平臺,不過,當前國內僅有騰訊、阿里等廠家願意試水,葡萄城做爲一傢俱有30多年開發經驗的軟件廠商,一樣也在持續對.NET控件進行更新迭代。

若是您有 .NET Core及其衍生技術和開發工具的需求,請訪問葡萄城官網瞭解詳情。

相關文章
相關標籤/搜索