|
本帖最后由 hez2010 于 2019-3-30 00:38 编辑
五个平台:
.NET Framework,.NET Core,Mono,Unity,Xamarin
两个标准:
.NET Standard,XAML Standard
先说一下这两个标准:
.NET Standard。顾名思义 .NET 标准,即 .NET 平台上的标准库,它统一了各平台的标准库实现。所有的 .NET 平台都会实现这个标准,也就是说这个标准里面定义的 API、数据类型 等等在实现了 .NET Standard 的平台中都是一致的,并且与平台无关,也就是说,.NET Standard 里面的东西是理论上可以运行在 Windows、Linux、MacOS、Android、iOS、Windows Phone 等上,无需做多少更改即可运行在各种系统上,实现代码重用,而具体能不能运行取决于这个实现了 .NET Standard 的平台能否运行在目标系统上。
XAML Standard。WPF 和 UWP 都采用了 XAML 语言编写 UI 界面,XAML Standard 就是一个统一各平台 UI 组件的标准。有了 XAML Standard,编写出来的 UI 代码,无需做多少更改即可以用于 Windows、Linux、MacOS、Android、iOS、Windows Phone 等上面,实现代码重用。
因此上面两个标准,就是 .NET 统一各平台,所有平台代码共享的第一步。
然后说一下这五个平台:
.NET Framework:最早的 .NET 平台,与 Windows 深度绑定。最新版本为 4.8,实现了 .NET Standard 2.0。
.NET Core:新生的官方跨平台 .NET,最新版本为 3.0,可以运行在各种架构的 Windows、Linux、MacOS 上面,真正的跨平台框架。
Mono:社区开发维护第三方 .NET 平台,可以运行在各种架构的 Windows、Linux、MacOS、Android、iOS 等上面,也是一个真正的跨平台框架。
Unity:基于 .NET 的游戏开发平台,衍生于 Mono,是目前主流的游戏开发平台,包括王者荣耀等等很多手机、电脑游戏都是在这个平台上开发的。
Xamarin:移动端 .NET 平台,衍生于 Mono,可以用于开发 Android、iOS、UWP 应用。
所有平台均支持使用 C#、VB.NET、F# 等语言,除此之外甚至还有 IronPython、IronRuby 等等。
平台对比和选择
| 最新版本 | 最新实现的 .NET Standard 版本 | 用途 | .NET Framework | 4.8 | 2.0 | Windows 桌面开发、Web 开发、云、Windows 服务等 | .NET Core | 3.0 | 2.1 | 跨平台开发、Web 开发、微服务、云、机器学习、嵌入式开发等 | Mono | 5.20.1 | 2.1 | 移动端开发、跨平台开发、跨平台 Web 开发、微服务、云、机器学习等 | Unity | 2019.2 | 2.1 | Windows 游戏开发、手机游戏开发 | Xamarin(Xamarin.Forms) | 4.0 | 2.1 | 手机 App 开发 |
主流开发工具对比选择
| 最新版本 | 是否跨平台 | 支持 .NET 平台 | 出品公司 | Visual Studio | 2019 | 仅 Windows | 全部 | 微软 | Visual Studio Code | 1.32.3 | 是 | .NET Framework、.NET Core、Mono | 微软 | Visual Studio For Mac | 2019 | 仅 MacOS | .NET Core、Mono、Xamarin | 微软 | Rider | 2019.1 | 是 | 全部 | JetBrains | Unity | 2019.2 | 仅 Windows/MacOS | Mono、Unity | Unity | MonoDevelop | 7.6 | 是 | Mono、.NET Core、Unity、Xamarin | Mono |
|
评分
-
查看全部评分
|