Bootstrap
我们的.NET应用应该选择哪一个平台,.NET Framework 或 .NET Core。对于.Net的开发者这是我们比较关注的问题。本文件主要介绍下.NET Framework 和 .NET Core区别,思考一下我们更适合那个平台。

.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。

参考文档: