1. 程式人生 > >.NET Framework、.NET Core、Mono、Xamarin之間關係

.NET Framework、.NET Core、Mono、Xamarin之間關係

本是同根生

截止2017年7月,這些專案均為微軟.NET Foundataion旗下開源專案,微軟朝著商業和開源兩種途徑,將.NET平臺開源、跨平臺化,以適應雲端計算、移動網際網路時代的要求。2000年左右,隨著Java在PC網際網路時代的流行,微軟釋出了全新的.NET平臺,但是一直遲遲沒有開放和跨平臺,.NET生態一直侷限於Windows平臺,與Java相比,生態一直處於劣勢;隨著2008年,iPhone的釋出,移動網際網路的興起,微軟自身的移動平臺發展毫無起色,在移動開發領域基本上邊緣化了,此外,雲端計算、虛擬化、容器等伺服器端技術的興起,資料中心對於應用開發和部署都有了新的要求。微軟終於在2014年開始關注.NET的開源與開放,通過收購第三方公司Xamarin的解決方案,也為跨平臺移動開發提供了可能。
.NET Framework:微軟2002年2月釋出第一個版本,是借鑑Java研發的全新開發平臺。該平臺提供了完整的Windows軟體開發元件,包括程式語言C#、強大的類庫.NET Framework、虛擬機器CLR,支援Windows窗體應用、移動應用、Web應用等主流應用模式開發。

.NET Framework只支援在Windows平臺上開發和執行,微軟商業實現。
.NET Core:微軟2014年宣佈.NET核心庫開源,2016年6月釋出其實現.NET Core 1.0。Core簡單理解就是.NET Framework的開源跨平臺實現,主要包括跨平臺虛擬機器CoreCLR、.NET Framework APIs的實現子集以及新增類庫等。開發語言支援C#、F#以及未來的VB,其提供的API類庫可以看做.NET Framework的跨平臺版本和功能子集、不支援WPF等Windows專有的應用模型。

.NEF Core支援Windows、Linux、macOS上開發ASP.NET、控制檯應用,主要用於雲端計算下的伺服器端跨平臺開發。開源開放
Mono:第三方公司Ximian於2004年6月釋出的.NET Framework跨平臺實現方案,支援在Linux、Windows、Unix、Android、遊戲主機上應用模型。主要依據是微軟在2000年12月釋出開放標準公共語言基礎架構CLI-ECMA-335,實現編譯器和虛擬機器。

Mono是第三方公司實現的開源跨平臺.NET解決方案,支援C#在Linux、Unix等平臺上開發應用。開源開放
Xamarin:Mono專案成員2011年5月釋出的跨平臺移動開發方案,使用C#開發本地的Android,iOS,Windows apps應用,其中程式碼可以跨平臺共享,目前該平臺已被微軟2016年收購,專注於跨平臺移動開發領域。

Xamarin專注於提供移動平臺的.NET開發解決方案,基於Mono實現,提供Andorid、iOS等主流移動平臺開發工具和類庫。開源開放
--------------------- 
作者:壹零Boy 
來源:CSDN 
原文:https://blog.csdn.net/MePlusPlus/article/details/76242330 
版權宣告:本文為博主原創文章,轉載請附上博文連結!