了解.NET Framework 和 .NET Core 的差异,并且在什么时候应该选择 .NET Core。 .NET Core是一个新的开源并且跨平台的用来构建可以所有操作系统(包括Windows, Mac, and Linux)上面运行的应用的的框架。那么你的下一个应用应该选择哪一个平台那? .NET Core ? 还是 .NET Framework?在这篇文章里面,让我们一起比较这两个平台来看是否能得出结论。
.NET Framework的优势:
如果你需要快速开发并部署一个 .NET 应用并且你没有充足的时间去学习 .NET Core,那么 你应该选 .NET Framework。因为 .NET Core有一定的学习曲线。
如果你要维护并升级现有的 .NET应用程序,那么你应该选择.NET Framework。移植一个现有的.NET程序去.NET Core 框架线面需要一定的工作量。
为了找一份工作?现在并没有很多的关于.NET Core的职位供你选择。
.NET Framework 就是这样的,现在的版本是.NET Framework 4.8,很有可能这是.NET Framework的最后一个版本了。在未来并没有计划有新的.NET Framework版本。
.NET Core的优势:
假如你要开发一个新的应用并且有.NET Framework 和.NET Core 供你选择,那么应该选.NET Core。
微软刚刚宣布.NET Core V3.0,这是一个有很大提升的.NET Core版本。.NET Core将是你以后学习并开发一个应用程序时的选择。
.NET Core 3.0支持已经支持了WPF和Windows Forms。.NET Core 3.0 还支持UWP,WPF和Windows Forms三者的开发。
如果你要开发一个新的程序并且公司允许的话,那么.NET Core 是你的一个很好的选择。.NET Core 将会变的越来越好。
.NET Core 很适合跨平台的开发。 .NET Core 应用支持Windows,Linux和Mac OS。微软的很受欢迎的开源文本编辑器 Visual Code 支持Windows,Linux和Mac OS。VS Code还支持IntelliSense 和 debugging,就像Sublime, Emacs, and VI, work w那样 。
.NET Core 也是支持微服务的,它支持跨平台的服务与.NET Core 一起工作,即使这写服务是.NET Framework, Java, Ruby,等等,开发的。
容器就是现在的虚拟机。.NET核心的模块化、重量轻和灵活性使它更容易在容器中部署.NET核心应用程序。容器可以部署在任何平台、云、Linux和Windows上。.NET核心与Docker和Azure Kubernetes服务都很好地工作。
一个需要高性能以及可扩展的系统
性能和可扩展性是.NET Core被开发出来时注重的两个区域。
.NET Core每个版本之间的兼容性很好。你可以同时很容易的运行不同版本的应用在同一个机器上面。
.NET 核心系统
让我们看一下如今的.NET核心系统架构根据下面的图。
正如你在上图看到的,.NET核心系统主要由三个主要的部分组成:.NET Framework, .NET Core, a和 Xamarin。
Xamarin 毫无争议,当你想用C#构建一个移动应用()时Xamarin 是你唯一的选择。
.NET Framework 支持窗体和网页应用。现在,你可以使用Windows Forms, WPF, and UWP去创建一个Windows应用在.NET Framework平台。ASP.NET MVC往往被用来构建网页应用在.NET Framework平台。
.NET Core 是新的开源和跨平台框架,用于为所有操作系统(包括Windows、Mac和Linux)构建应用程序。.NET Core仅支持UWP和ASP.NET Core。UWP用于构建Windows10目标窗口和移动应用程序。ASP.NET Core用于构建基于浏览器的Web应用程序。
.NET 的未来
微软刚刚发布了.NET 5, 它将是在2020年可用。.NET5将会替代.NET Core 并且它是.NET Core和.NET Framework的未来。.NET5将不会支持ASP.NET Web Forms, WCF, 或者 WWF。UWP在未来也不会占很大的比重。