简历:
我们的.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。
参考文档:
https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/
https://docs.microsoft.com/en-us/dotnet/articles/standard/choosing-core-framework-server
了解更多分析及数据抓取可查看:
http://data.yisurvey.com:8989/
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。