.NET Core與.NET Framework、Mono之間的關係

來源:互聯網
上載者:User

標籤:開放   tar   server   .net   生態系統   alt   div   title   重複   

隨著微軟的.NET開源的推進,現在在.NET的實現上有了三個.NET Framework,Mono和.NET Core。經常被問起Mono的穩定性怎麼樣,後續Mono的前景如何,要回答這個問題就需要搞清楚這三個.NET 實現之間的關係和將來如何演化。

到目前為止(2015.2.17),微軟在Windows平台上的.NET Framework的實現最為完整,但是.NET Framework和windows作業系統有很深的綁定,難以跨平台。Xamarin主導的Mono項目在.NET 的基礎類庫實現上有一些不夠完美。隨著2014年 Xamarin和微軟發起.NET基金會,微軟在2014年11月份 開放.NET架構原始碼。在.NET開源基金會的統一規划下誕生了.NET Core 。也就是說.NET Core Framework是參考.NET Framework重新開發的.NET實現,Mono是.NET Framework的一個開源的、跨平台的實現。經常有朋友對Mono和.NET Core 有疑問,微軟主導開發了.NET Core,那麼還有Mono什麼事呢。回答這個問題就是要搞清楚我們有各式各樣的作業系統,windows,linux,mac,bsd,unix,各種作業系統之間的差異是很大的,最明顯的就是UI方面,瞭解這些差異就很容易搞清楚Mono將來還是很有事情做的了。

.NET Core是一個模組化的開發棧,它是未來的所有.NET平台的基礎。.NET Core Framework團隊的進階程式經理Immo Landwerth在部落格中也提到.NET Core開源有兩大原因:

作為跨平台的.NET的基礎。

構建並受益於一個更為強大的生態系統。

比如.NET和Mono兩者是完全獨立的,很多代碼是平台無關的,所以很多工作都是重複勞動。合作構建一個單一的軟體棧是最理想的。根據文章 .NET Core Open Source Update,目前.NET Core 只完成了.NET Framework的25%的功能。

.NET平台有三大件:

1、C#語言,也就是ECMA-334,這是天生跨平台的,C#的附帶內容,你應該徹底的明白公用運行時(CLR)。CLR以及公用語言基礎(CLI)標準在ECMA-335中有定義,這也是CLR標準。

2、Visual Studio,這是天生不能跨平台的,Mono有Xamarin studio;

3、.NET Framework基礎類庫。如果.NET Framework基礎類庫不能跨平台,沒人會關心.NET的跨平台。所以微軟不得不投入大量精力去開發全新的.NET Core Framework(就是現在github上的https://github.com/dotnet/corefx ),一邊將.NET Framework中有用的代碼搬過來,一邊根據跨平台的需求重新實現。

從上面的分析,.NET跨平台的最大障礙就是基礎類庫的跨平台,由此也可以看出.NET基礎類庫的重要性。Mono也是在基礎類庫的實現上存在瑕疵,比如對WPF,WCF等架構的支援上不完善。像WPF這樣的使用者介面開發技術,各個平台上都有自己的原生開發庫,使用者介面應用原生開發,iOS應用應該用iOS的使用者介面庫才會讓人覺得在iOS上最合適,.NET應用應該用微軟的Windows使用者介面庫。

隨著.NET Core Framework的開發完成,.NET Framework與Mono將基於.NET Core重新構建。.NET Framework將成為.NET Core在Windows上的一個發行版,Mono將成為.NET Core的一個跨平台發行版。

.NET Core與.NET Framework、Mono之間的關係

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.