闲话 .NET(5):.NET Core 有什么优势?

简介: 闲话 .NET(5):.NET Core 有什么优势?

前言

.NET Core 并不是 .NET FrameWork 的升级版,它是一个为满足新一代的软件设计要求而从头重新开发的开发框架和平台,所以它没有 .NET FrameWork 的历史包袱,相对于 .NET FrameWork,它具备很多优势。

.NET Core 有哪些优势?

优势一

.NET Core 采用模块化开发。

.NET Core 核心只包含很少的文件,所有其他模块都需要单独安装。开发的程序用到什么模块,就安装什么模块,这样各个模块都可以单独升级。

不同的程序可以选择适合自己版本的组件,不用受系统上安装的其他程序的影响。

比如,A程序可以用一个模块的1.5版本,而B程序可以用这个模块的1.8版本,它们不会互相干扰。

优势二

.NET Core 支持独立部署(Standalone Deployment)。

所谓独立部署,就是指将一个应用程序或软件包打包成一个独立的、自包含的单元,可以在没有额外依赖项的情况下在目标环境中运行。

所以也就是说,可以把 .NET Core 运行时环境和开发的程序打包到一起部署。

这样就不需要在服务器上安装 .NET Core 运行环境,只要把程序复制到服务器上,程序就能运行,这对容器化、无服务器(Serverless)等非常友好。

优势三

.NET Core 开发出来的程序性能更高。

相比 .NET FrameWork,.NET Core 的性能真是提高太多了,比如 EF(Entity Framework),EF 最受弊病的就是性能问题,在 .NET Core 时代,EF Core 比 EF 6.0 整整提高了 40 多倍。

因为 .NET Core 的所有管道都是可以插拔的,开发人员可以决定程序需要哪些管道及它们的执行顺序,因此用 .NET Core 开发出来的程序启动更快,内存占用更少,性能更高。

优势四

ASP.NET Core 终于不再依赖 IIS。

这里用于 “终于” 一词,因为一直以来,IIS 的复杂性、安全性和性能都备受争议,但 ASP.NET 却只能运行在 IIS 服务器里,很多开发人员非常反感这一点,甚至有些开发人员因为这一点,而放弃使用 ASP.NET。

现在,在 .NET Core 时代,我们有了更多更好的选择,因为 ASP.NET Core 内置了简单且高效的 Web 服务器 —— Kestrel。

Kestrel 被嵌入 ASP.NET Core 程序中运行,整个 ASP.NET Core 程序其实就是一个控制台程序。

Kestrel 可被配置上安全、HTTPS、限流、压缩、缓存等功能,从而成为直接面向终端用户的 Web 服务器,也可以将其配置成轻量级的 Web 服务器,而安全、HTTPS、限流、压缩、缓存等功能则由部署在它前面的 IIS、Nginx 等反向代理服务器完成。

优势五

如今,高可用、高性能和高并发这三个方面受到了业界前所未有的重视,可以说,如今的软件设计思想就是围绕着这三个方面不断地创新发展,集群、分布式、微服务、DDD(领域驱动开发)、最终一致性、容器化部署、依赖注入……等等概念受到前所未有的讨论和应用。

.NET Core 有一个关键词就是 “基于云” 开发。

所谓的 “基于云” 开发,就是指程序可以运行在云服务平台上,并且可以和云服务平台的其他产品进行集成。

云服务平台的大部分技术都是开放的,而不是绑定某个具体语言的,因此主流的编程语言都能用于 “基于云” 的开发,.NET Core 也一样,所以 .NET Core 更符合如今的软件设计思想,EF Core 更是被誉为领域驱动开发应用场景的最佳实践。

优势六

现在要讲的第六个优势就是 跨平台

跨平台有很多优势,具体可参考前文我们的分析,支持跨平台的 .NET Core,有着更广阔的应用场景和可能性。

结语

综上所述,.NET Core 可以开发能运行在容器环境中的微服务,以便于开发能应对高可用、高性能和高并发的系统。

另外,虽然 .NET Core 是从头开发的,但更多是对底层的调整,在语法层面上,.NET Core 基本上保持跟 .NET Framework 的一致性,开发人员在 .NET Framework 中学到的绝大部分技术都可以迁移到 .NET Core 中,不会浪费在 “.NET Framework 时代” 的技术投资,这对于数以百万的 .NET Framework 开发人员而言,也算是一大优势吧。

当然,.NET Core 优势远远不止于此,本文只是抛砖引玉,如果您知道更多的优势,欢迎留言讨论。

我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊人生。

都看到这了,求个点赞、关注、在看三连呗,感谢支持。


相关文章
|
1月前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
|
1月前
|
自然语言处理 物联网 图形学
.NET 技术凭借其独特的优势和特性,为开发者们提供了一种高效、可靠且富有创造力的开发体验
本文深入探讨了.NET技术的独特优势及其在多个领域的应用,包括企业级应用、Web应用、桌面应用、移动应用和游戏开发。通过强大的工具集、高效的代码管理、跨平台支持及稳定的性能,.NET为开发者提供了高效、可靠的开发体验,并面对技术更新和竞争压力,不断创新发展。
47 7
|
29天前
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
32 4
|
29天前
|
开发框架 安全 Java
.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力
本文深入探讨了.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力。.NET不仅支持跨平台开发,具备出色的安全性和稳定性,还能与多种技术无缝集成,为企业级应用提供全面支持。
30 3
|
1月前
|
Java 物联网 编译器
C#一分钟浅谈:.NET Core 与 .NET 5 区别
本文对比了 .NET Core 和 .NET 5,从历史背景、主要区别、常见问题及易错点等方面进行了详细分析。.NET Core 侧重跨平台支持和高性能,而 .NET 5 在此基础上统一了 .NET 生态系统,增加了更多新特性和优化。开发者可根据具体需求选择合适的版本。
48 7
|
1月前
|
人工智能 开发框架 前端开发
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
|
1月前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
|
1月前
|
人工智能 开发框架 安全
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
|
2月前
|
人工智能 开发框架 Cloud Native
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
|
2月前
|
开发框架 前端开发 API
C#/.NET/.NET Core优秀项目和框架2024年9月简报
C#/.NET/.NET Core优秀项目和框架2024年9月简报