.NET Core 和 .NET Framework 的不同

一、各自优势

.NET Framework 的优势:

如果您是 .NET 开发人员,需要快速构建和发布一些东西,而您没有时间学习 .NET Core,那么 .NET Framework 是您的选择。.NET Core 确实有一个学习曲线。
 
如果您要维护和升级现有的 .NET 应用程序,那么 .NET Framework 是您的选择。将现有的 .NET 应用程序移植到 .NET Core 应用程序需要一些工作。
 
找工作?您现在可能在 .NET Core 中找不到太多工作。
 
.NET 框架就是这样。.NET Framework 的当前版本 4.8 应该是 .NET Framework 的最后一个版本。未来将不再计划推出新版本的 .NET Framework。

.NET Core的优势:

如果您正在构建一个新应用程序并在 .NET Core 和 .NET Framework 之间进行选择,那么 .NET Core 是您的最佳选择。
 
微软刚刚发布了 .NET Core v 3.0,它是 .NET Core 的一个大大改进的版本。如果您想为未来学习和构建,那么 .NET Core 就是您的最佳选择。
 
.NET 3.0 现在支持 WPF 和 Windows 窗体。.NET Core 3.0 还支持 UWP、WPF 和 Windows 窗体之间的交叉开发。这为开发人员提供了将 UWP 的现代界面引入 Windows 窗体和 WPF 的灵活性。
 
如果您正在构建一个新应用程序并且您的公司已经批准了它,那么 .NET Core 就是您的最佳选择。.NET Core 将继续变得越来越好。
 
.NET Core 更适合跨平台需求。.NET Core 应用在 Windows、Linux 和 macOS 上受支持。Windows、Linux 和 macOS 支持 Microsoft 流行的开源代码编辑器 Visual Studio Code。VS Code 支持代码编辑器的现代需求,包括 IntelliSense 和调试。大多数第三方编辑器,例如 Sublime、Emacs 和 VI,都使用 .NET Core。
 
.NET Core 支持微服务架构,它允许跨平台服务与 .NET Core 一起使用,包括使用 .NET Framework、Java、Ruby 或其他开发的服务。
 
容器是当今的虚拟机。.NET Core 的模块化、轻量级和灵活性使得在容器中部署 .NET Core 应用程序变得更加容易。容器可以部署在任何平台、云、Linux 和 Windows 上。.NET Core 可以很好地与 Docker 和 Azure Kubernetes 服务配合使用。

二、.NET 生态系统

让我们回顾一下以前的 .NET 生态系统架构图。

.NET Core 和 .NET Framework 的不同_第1张图片

从上图中可以看出,.NET 生态系统具有三个主要的高级组件——.NET Framework、.NET Core 和 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 Core 和 .NET 之间如何选择呢?

如果您今天必须在 .NET Framework 和 .NET Core 之间做出选择,以下是标准。请记住,大约一年后,您可能根本不想选择 .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 核心
使用微服务 两者都有,但 .NET Core 旨在牢记当今的需求。
以用户界面为中心的 Web 应用程序 在 .NET Core 赶上之前,.NET Framework 现在会更好。
使用 Windows 窗体和 WPF 的 Windows 客户端应用程序
.NET 框架
已经有预配置的环境和系统 .NET 框架更好。
稳定版本,可立即构建和部署 .NET Framework 自 2001 年以来一直存在。.NET Core 只是一个婴儿。
现有经验丰富的 .NET 团队 .NET Core 有一个学习曲线。
时间不是问题。实验是可以接受的。不急于部署。 .NET Core 是 .NET 的未来。

四、.NET 的未来

 
微软刚刚宣布 .NET 5,将于 2020 年推出。.NET 5 将取代 .NET Core,是 .NET Framework 和 .NET Core 的未来。.NET 5 将不支持 ASP.NET Web 窗体、WCF 或 WWF。UWP 也不会在未来发挥重要作用。阅读此处以了解有关 .NET 未来的更多信息。
至此前往原文

你可能感兴趣的:(.net,c#)