.Net Framework是由技术巨头Microsoft设计和维护的软件开发框架。 它基于Windows,主要在Windows设备上运行。 它用于开发独立的桌面以及Web应用程序。 该框架提供了应用程序开发的所有基本要求– UI,数据库连接,服务,API等。另一方面,.Net Core是一个平台,而不是完整的框架。 简而言之,.Net Core是.Net Framework的子集。 更准确地说是.Net Framework的分支版本。

现在您可能想知道,当.Net Core只是.Net Framework的一个子集时,为什么还要单独发布 .Net Core? .Net Core对其操作方式进行了一些根本性的更改。 首先,它更加模块化。 这可以帮助您仅使用所需的库而无需额外负担来创建应用程序。 其次,它确实是跨平台的。 这使其成为未来开发平台的选择。

1. .Net Core和.Net Framework的主要区别

让我们讨论一下.Net Core与.Net Framework之间的一些主要区别:

.Net Framework是由技术巨头Microsoft设计和维护的软件开发框架。 它基于Windows,主要在Windows设备上运行。 它用于开发独立的桌面以及Web应用程序。 该框架提供了应用程序开发的所有基本要求-UI,数据库连接,服务,API等。

.Net Core是由Microsoft和.Net社区设计和维护的开源开发平台。 .Net Core的设计考虑了各种需求和目的,着重于Web开发,Windows Phone开发和Windows Store Apps开发。

它们都共享一组通用的库,这些库对于任何应用程序的运行都是必不可少的。 这些库包括运行时库,编译器库,数据类型等。这些公共库包含所有原始内容的定义。 这几乎没有改变,因此是所有.Net堆栈框架的基础。

接下来,设计.Net Core时要牢记未来的需求。 它是跨平台兼容的,重量轻,成捆装,没有多余的行李,并且易于随时间升级。 .Net Framework更加着重于提供一个完整的捆绑包来使用和创建应用程序,从而减轻了开发人员寻找适合该工作的库的麻烦。

2. 何时使用.Net Core/.Net Framework?

想到的下一个问题是何时真正使用.Net Framework以及何时使用.Net Core。

简而言之,您的应用程序必须从头开始构建,选择.Net Core,因为这是未来的设计。 但是,如果它已经存在并且您打算迁移到.Net Core,则必须分析所有使用的库以及.Net Core是否支持它们。 此外,如果您的应用程序在.Net Framework中稳定且没有计划的重大升级,则迁移到.Net Core似乎毫无意义。

3. .Net Core和.Net Framework的区别对比

下面来看看.Net Core与.Net Framework的高级比较:

比较项 .Net Framework .Net Core
平台或框架 .Net Framework是成熟的开发框架。该框架提供了应用程序开发的所有基本要求– UI,数据库连接,服务,API等。 .Net Core是一个平台,在该平台上有ASP .Net Core和Universal Windows Platform这样的框架,这些框架可以利用和扩展.Net Core的功能。
开源 .Net Framework不是开源的。它更多是社区开发的软件项目。 .Net Core是开源的。
跨平台 尽管.Net Framework旨在为所有操作系统开发软件和应用程序,但最终还是偏爱Windows。因此,.Net Framework主要用于开发基于Windows的应用程序。 .Net Core遵循“随处构建”的原则。因此,它是跨平台的。它支持Windows,MacOS和Linux平台。可以在任何平台上构建应用程序,然后在另一个平台上运行。
应用类型 .Net Framework用于构建桌面和Web应用程序。Windows窗体和WPF应用程序得到很好的支持。 .Net Core更加专注于Web,Windows Mobile和Windows Store应用程序。当前,它不支持桌面应用程序开发。
包装和运送 .Net Framework打包为一个整体。所有库都捆绑在一起并一起运送。即使您的应用程序不需要任何库,它仍然是软件包的一部分。 .Net Core作为一组NuGet软件包提供。它已经分解,模块化并作为多个NuGet软件包提供。尽管公共运行时库仍然是捆绑软件的一部分,但是开发人员可以自由选择是否根据需要选择性地包含其他库。这使得.Net Core非常轻巧,没有多余的包。
支持微服务 .Net Framework不支持使用不同语言创建和部署微服务。 .Net Core支持微服务。 .Net Core允许混合使用每种微服务可以最小化的技术。
支持WCF/REST服务 当涉及WCF服务时,.Net Framework是一个很好的选择。它还支持REST服务。 .Net Core不支持WCF服务,它始终需要创建REST API。
CLI工具 .Net Framework对于命令行界面来说太重了。一些开发人员更喜欢使用CLI而不是IDE。 .Net Core支持所有平台的非常轻量级的CLI。总是有一个选项也可以切换到IDE。

4. 结论

现在您可能想知道,当.Net Core只是.Net Framework的一个子集时,为什么还要单独发布 .Net Core?.Net核心对其操作方式进行了一些根本性的更改。 首先,它更加模块化。 这可以帮助您仅使用所需的库而无需额外负担来创建应用程序。 其次,它确实是跨平台的。 这使其成为未来开发平台的选择。

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.hasdiffer.com]
本文标题:.Net Core和.Net Framework的区别
本文链接:http://www.vsdiffer.com/dot-net-core-vs-dot-net-framework.html
免责声明:本站部分内容除注明转载外,均为本站网站用户投稿或互联网整理。对于该内容的正确性如何,本站不负任何责任。同时,如本网站内容无意之中冒犯了您的权益,请联系站长,邮箱:1478761107#qq.com(使用@代替#),我们核实并会尽快处理。

相关主题

随机