.NET 概述
.NET 是 Microsoft 创建的软件开发平台,用于构建许多不同类型的应用程序。.NET 平台提供的工具和库使开发人员能够更轻松、更快速、更方便地开发应用程序和服务。
它支持两种开发服务器端应用程序的实现:
-
.NET框架。
-
.NET 核心。
它们都具有相似的组件,并允许开发人员共享代码,但是在根据您的需求选择正确的项目类型时仍然存在混乱和困难。
.NET框架
Microsoft 在 20 世纪 90 年代末开始开发 .NET Framework,名称为“下一代 Windows 服务”。到 2000 年底,.Net 1.0 的第一个测试版发布了。从那时起,发布了新版本,保留并添加了先前版本的新功能。
其中包括用于创建 Windows 应用程序和 Web 服务的运行时环境。这些仅支持 Windows 上的网站、服务和桌面应用程序。
该框架包括两个主要组件:
-
公共语言运行时 (CLR) — 用于运行应用程序和提供内存管理的引擎。
-
广泛的类库 ——一组经过试验和测试的可重用代码类型,适用于所有开发阶段,任何开发人员都可以使用。
.NET 的目标是创建一个易于使用的面向对象的环境,它可以支持多种语言,使开发更加容易。但是,由于是封闭源代码,用户迁移到开源平台。因此,为了在竞争中脱颖而出,微软推出了.NET Core作为开源平台。
.NET核心
它是一个开源跨平台框架,用于为所有操作系统(包括 Windows、Mac 和 Linux)构建应用程序。C#、Visual Basic 和 F# 可用于编写 .NET Core 的应用程序和库。
.NET Core 的第一个主要版本专注于高性能 Web 和微服务。而且,随着 2.0 版本的发布,添加了多个 API 和组件,以简化 Web 应用程序到 .NET Core 的迁移。
此外,微软将“.NET 5 描述为桌面、Web、云、移动、游戏、物联网和人工智能应用程序的统一平台”。新.NET版本的目标是生成跨平台的单一.NET运行时和框架,集成.NET Core、.NET Framework、Xamarin和Mono的最佳功能。
现在,让我们了解 .NET Core 与 .NET Framework 有何不同。
.NET Core 与 .NET Framework:了解核心差异
开发 .NET core 和 .NET Framework 的选择取决于应用程序的类型、要求、预算和开发平台。但是,您的下一个项目必须考虑一些因素。
跨平台兼容性和开源
网络框架
.NET Framework 使开发人员能够在单一平台(Windows)上构建应用程序。
.NET Framework 的语言编译器确保用一种语言编写的程序可以用其他语言进行编译和访问。
.NET Framework 作为许可和专有软件框架发布。Microsoft 随后将 .NET Framework 的某些组件开源。
.NET核心
.NET Core 是跨平台的,这意味着它与各种操作系统兼容 - Windows、Linux,甚至 Mac 平台。
这种兼容性使得开发跨平台应用程序以及将现有应用程序迁移到另一个平台变得容易。
该公司已发布 .NET Core 作为开源软件框架。因此,企业和个人开发者都可以使用.NET Core构建应用程序,而无需支付任何许可费用。
部署模型
.NET核心
.NET Core 提供了灵活的部署模型。每当启动任何最新版本的 .NET Core 时,它都可以在一台计算机上立即更新,从而上传到新目录中,而不会影响现有应用程序。
此外,应用程序可以直接部署在云端,开发人员甚至可以通过创建自己的托管进程来自行托管应用程序。
.NET框架
在.NET Framework 中,开发人员只需在Internet Information Server 上部署Web 应用程序。
但是,它具有 Xcopy 部署选项 - 它能够将文件复制到准备运行的目录中。这对于简单的应用程序非常有用,但对于复杂的应用程序,需要更多步骤才能在服务器上完全部署。
性能和可扩展性
当性能和可扩展性至关重要时,.NET Core 或 .NET Framework 哪个是最好的?
.NET核心
.NET Core 比 .NET Framework 更有效,因为开发人员无需使用额外的硬件即可大幅提高应用程序的性能。
在 .NET Core 中编译的代码会自动进行优化,无需任何更改。.NET core中的重新编译功能直接优化代码,从而提高性能。
此外,它使开发人员能够直接在云中构建、测试和部署应用程序。因此,在.NET core的帮助下,开发人员可以轻松地提高应用程序的性能和可扩展性。
.NET框架
.NET 框架性能落后,而且本质上并不更快、更灵活、更安全。当应用程序首次启动时,.NET Framework 使用其即时编译器将 CIL 代码编译为可执行代码,并将可执行程序缓存到 .NET Native Image Cache 中。
为了加快首次启动速度,开发人员可以使用本机映像生成器实用程序手动编译和缓存任何 .NET 应用程序。