.NET是微软为了对抗Java的中间件设计。C#为类Java语言,毕竟Java先出山,早期C#的语法和设计”简直就是抄”Java, 经过多个版本的发展,C#语法已经甩开Java一大截,但很难撼动Java服务端老大哥地位,只能说生虽逢时,不开源只用于Windows的最初设计害了.NET. 等微软搞明白跨平台才能活得好,程序员已经不想给它机会了。
.NET Core
- 微软越来越拥抱开源,.NET Framework最新已变成.NET Core.
其他.NET相关
除了早期的.NET Framework和后面的.NET Core,还有其他.NET框架。
- Mono是.NET移植到非Windows系统的实现,随着.NET Core 非Windows官方版本发布,Mono逐渐被取代。
- Xamarin, 是Mono分支,跨平台框架,旨于让移动平台如iOS/Android/Windows Phone以及watchOS/tvOS和Mac App可以直接用C#搞定。
- Boo语言是Unity3D早期使用脚本语言,既可被编译成MISL,也可直接当script使用,由booi或booish解析。
- IronPython是.NET平台实现的Python解释器。
.NET Standard
大部分刚了解.NET技术的人,都会对微软.NET框架命名感到很困惑。从最早的.NET Framework,到.NET Core, 再到.NET. 事实上,这些只是技术名词,本质还是中间件框架,差异在于类库、语法和跨平台支持程度。.NET Standard的出现,是在.NET框架太多,导致程序员没办法很好了解到底一个API在哪些版本能支持,一个语法究竟能否用这个框架。随着.NET Core的统一,.NET Standard逐渐退出历史舞台。