.Net Core是微软推出的一个参考.net framework重新开发的.NET实现,是新一代的.NET基石,可以支持Windows, Linux, macOS, 以及Docker。有需要的朋友们可以下载试试。
三大件
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用户界面库。