.Net Framework是由技术巨头Microsoft设计和维护的软件开发框架。它基于Windows,主要在Windows设备上运行。 它用于开发独立的桌面以及Web应用程序。 该框架提供了应用程序开发的所有基本要求:UI,数据库连接,服务,API等。另一方面,.Net Core是一个平台,而不是完整的框架。 简而言之,.Net Core是.Net Framework的子集。 更准确地说是.Net Framework的分支版本。
现在您可能想知道,当.Net Core只是.Net Framework的一个子集时,那么为什么还要单独提出? .Net核心对其操作方式进行了一些根本性的更改。 首先,它更加模块化。 这可以帮助您仅使用所需的库而无需额外负担来创建应用程序。 其次,它确实是跨平台的。 这使其成为未来开发平台的选择。
.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 更专注于提供一个完整的包来使用和创建应用程序,从而减轻开发人员为工作寻找合适的库而头疼的问题。
什么时候使用 .Net Core或/.Net Framework?
常见的一个问题是:何时真正使用 .Net Framework 以及何时使用 .Net Core ?
简而言之,如果您的应用程序必须从头开始构建,请选择 .Net Core,因为它是未来的设计。 但是,如果它已经存在并且您计划迁移到 .Net Core,则必须分析使用的所有库以及 .Net Core 是否支持它们。 此外,如果应用程序在 .Net Framework 中稳定且没有重大升级计划,那么迁移到 .Net Core 似乎没有什么意义。
.Net Core 与 .Net Framework 对比表
让我们讨论 .Net Core 与 .Net Framework 之间的最高比较:
对比项 | .Net Framework | .Net Core |
---|---|---|
平台或框架 | .Net Framework 是一个成熟的开发框架。该框架提供了应用程序开发的所有基本要求——UI、数据库连接、服务、API 等。 | .Net Core 是一个平台,在其之上有 ASP .Net Core 和通用 Windows 平台等框架,它们利用和扩展 .Net Core 的功能。 |
开源 | .Net Framework不是开源的,它更像是一个社区开发的软件项目。 | .Net Core 是开源的。 |
跨平台 | 虽然 .Net Framework 旨在为所有操作系统开发软件和应用程序,但它最终偏向于 Windows。因此,.Net Framework 主要用于开发基于 Windows 的应用程序。 | .Net Core 遵循 build-once-run-anywhere 的原则。因此,它是跨平台的。它支持 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 Tools | .Net Framework 对于命令行界面来说太重了。一些开发人员更喜欢使用 CLI 而不是 IDE。 | .Net Core 支持适用于所有平台的非常轻量级的 CLI。也总是可以选择切换到 IDE。 |
结论
现在我们都知道, .Net Core 只是 .Net Framework 的一个子集。.Net Core 的运行方式发生了一些根本性的变化。 首先,它更加模块化。 这可以帮助您创建仅包含需要的库且没有额外负担的应用程序。 其次,.Net Core 是真正的跨平台。 这使其成为未来开发平台的选择。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:.Net Core和.Net Framework的区别
本文链接:https://www.vsdiffer.com/vs/dot-net-core-vs-dot-net-framework.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。