【C#】.NET技术的发展及其跨语言和跨平台特性
一、.NET(Microsoft XML Web services):
.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。所以一开始.NET应用、.NET Framework和CLR是深深的和Windows绑定在一起的,难以跨平台。
1、.NET的跨平台特性:
由于天生的和Windows深绑在一起,.NET无法跨平台,所以由Novell公司发起的致力于.NET跨平台的开源项目Mono应运而生。Mono由.NET Mono Framework与公共语言运行时(CLR)组成,其中CLR又由通用语言架构(CLI)实现。CLR就是跨平台的核心技术。
2、.NET的跨语言特性:
只要符合公共语言规范(CLS)接口,即由.NET Core Framework类库实现,Mono编译器可以把源码编译为公共中间语言(CIL)在运行时(CLR)就可以将之转化为平台有关的Native Code。
.NET的跨平台和跨语言特性是密不可分的,下图展示了整个技术平台的原理和其中各技术的关联,是.NET发展的终极方向。
二、.NET Framework:
.NET开源前,是运行在Windows平台上的.NET应用的基础类库;.NET开源之后,随着.NET
Core Framework的开发完成,.NET Framework与 Mono将基于.NET Core 重新构建。.NET
Framework将成为.NET Core在Windows上的一个发行版。
三、.NET Core Framework:
2014年
Xamarin和微软发起.NET基金会,微软在2014年11月份 开放.NET框架源代码。在.NET开源基金会的统一规划下诞生了.NET
Core。.NET Core是一个模块化的开发栈,它是未来的所有.NET平台的基础。随着.NET Core
Framework的开发完成,.NET Framework与Mono将基于.NET Core重新构建。.NET Framework将成为
.NET Core 在Windows上的一个发行版,Mono将成为
.NET
Core的一个跨平台发行版。这也是.NET可以实现跨语言的核心,即遵从.NET规范的语言(C#/VB.NET/VC.NET/ASP.NET等)都可以被.NET
Core Framework解释。
四、Mono:
跨平台·NET运行环境。包括C#编译器和通用语言架构(CLI),公共语言运行时(Common
Language Runtime)即CLR是CLI 标准的实现。随着.NET Core Framework的开发完成,.NET
Framework与 Mono将基于.NET Core 重新构建。Mono将成为 .NET Core的一个跨平台发行版。
五、C#:
C# 是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的。
天生跨平台,开发的目的就是为了支撑.NET技术。语法和C/C++类似,可由VS或Mono编译。