什么是.NET Core ?它和.NET Framework 有什么不同?

.NET Core  已经发布好几年了,很多.NET 程序员也一定跟我一样心中一直有以下疑问, 

  1. .NET Core到底是不是  .NET 的下一个版本?还是说只是  .NET 支持跨平台的一个版本?
  2. 作为传统的  .NET 开发者或者说开发的程序都是在WIndows环境下面工作的,有没有必要学习  .NET Core?
  3. .NET Core 和  .NET Framework有什么不同?
  4. 在开发新的程序是应该怎么选择.NET Core 和  .NET Framework?

带着这些疑问我找到了一篇文章介绍  .NET Core 和  .NET Framework的不同,在这篇文章里面基本回答了上面的几个问题。为了更好的理解这些内容,我决定把它翻译一下记在这里。原文链接会放在底部。

                                            

 

                                  .NET Framework 和 .NET Core 的差异

 

        了解.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在未来也不会占很大的比重。

 

 

原文

 

根据这篇文章回答一下刚开始提出的问题,

  1. .NET Core到底是不是  .NET 的下一个版本?还是说只是  .NET 支持跨平台的一个版本?严格来说不是,他们是并行的.NET 5才是会最终替代这两者的东西
  2. 作为传统的  .NET 开发者或者说开发的程序都是在WIndows环境下面工作的,有没有必要学习  .NET Core?好像也没有很好的回答这个问题。但是个人觉得还是很有必要的,毕竟.NET Framework已经不更新了那么一些新的特性肯定会在.NET Core上面在.NET 5出现之前。
  3. .NET Core 和  .NET Framework有什么不同?这个具体就要看文章里面的比较了。
  4. 在开发新的程序是应该怎么选择.NET Core 和  .NET Framework?文中的作者是建议前者的在条件允许的情况下。
posted @ 2022-04-22 16:45  邃蓝星空  阅读(1488)  评论(0编辑  收藏  举报