.NET 生态系统
让我们看一下.NET生态系统结构图。
正如上面上所看到的,.NET生态系统主要包括三大高级组件,.NET Framework, .NET Core, and Xamarin。
Xamarin:无庸置疑,当您想使用C#构建移动(iOS,Android和Windows Mobile)应用程序时,Xamarin是您唯一的选择。
.NET Framework:支持Windows和Web应用程序。可以使用Windows窗体,WPF和UWP在.NET Framework中构建Windows应用程序。ASP.NET MVC用于在.NET Framework中构建Web应用程序。
.NET Core:是一种新的开源和跨平台框架,用于为包括Windows,Mac和Linux在内的所有操作系统构建应用程序。.NET Core仅支持UWP和ASP.NET Core。UWP用于构建Windows 10目标Windows和移动应用程序。ASP.NET Core用于构建基于浏览器的Web应用程序。
我们应该选择哪一个平台
在未来一年左右,可能你根本不想选择.NET Framework。
目前来讲:
.NET Framework是一个更好的选择:
- 没有时间学习新技术。
- 需要一个稳定的工作环境。
- 有近斯发版计划。
- 已经在处理现有应用并扩展其功能。
- 已经拥有一支具有.NET专业知识和构建生产就绪软件的现有团队。
- 不想处理持续的升级和更改。
- 使用Windows窗体或WPF构建Windows客户端应用程序
.NET Core是一个更好的选择:
- 想要在Windows,Linux和Mac操作系统上定位您的应用程序。
- 不怕学习新事物。
- .NET Core尚未完全成熟,不害怕出现问题和修复问题。
- 一个刚刚学习.NET的学生。
- 喜欢开源。
下面也许帮助做决定:
需要高性能稳定没有UI界面 | .NET Core性能更好 |
支持Docker容器 | 都支持,但.NET Core支持的可能更好。 |
命令行上的大量回复 | .NET Core支持得更好 |
有跨平台的需求 | .NET Core |
使用微服务 | 都支持,但.NET Core是为当下需求而设计的。 |
以用户界面为中心的Web应用程序 | 在.NET Core赶上之前,.NET Framework是更好的。 |
使用Windows窗体和WPF的Windows客户端应用程序 | .NET Framework |
已经有预先配置的环境和系统 | .NET Framework更好 |
需要马上构建布署稳定的版本 | .NET Framework更成熟 |
存在经验丰富的.Net团队 | .NET Core有一个学习的曲线。 |
时间不是问题。实验是可以接受的。不急于部署。 | .NET Core 是 .NET的未来。 |
将.NET应用程序移植到.NET Core
下面文档,解释了将.NET框架应用程序移植到.NET Core的过程。
https://docs.microsoft.com/en-us/dotnet/articles/core/porting/index
注意:并非所有.NET框架应用程序都可以移植到.NET Core。
参考文档: