.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的过程。
注意:并非所有.NET框架应用程序都可以移植到.NET Core。
参考文档: