.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 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/LJH_Gemini/article/details/83345844