闲话 .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 优势远远不止于此,本文只是抛砖引玉,如果您知道更多的优势,欢迎留言讨论。

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

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


相关文章
|
27天前
|
算法 Java 中间件
C#/.NET/.NET Core优质学习资料,干货收藏!
C#/.NET/.NET Core优质学习资料,干货收藏!
|
27天前
|
人工智能 开发框架 算法
C#/.NET/.NET Core技术前沿周刊 | 第 2 期(2024年8.19-8.25)
C#/.NET/.NET Core技术前沿周刊 | 第 2 期(2024年8.19-8.25)
|
27天前
|
传感器 应用服务中间件 Linux
C#/.NET/.NET Core技术前沿周刊 | 第 3 期(2024年8.26-8.31)
C#/.NET/.NET Core技术前沿周刊 | 第 3 期(2024年8.26-8.31)
|
27天前
|
人工智能 算法 C#
C#/.NET/.NET Core技术前沿周刊 | 第 1 期(2024年8.12-8.18)
C#/.NET/.NET Core技术前沿周刊 | 第 1 期(2024年8.12-8.18)
|
2月前
|
XML 开发框架 .NET
.NET框架:软件开发领域的瑞士军刀,如何让初学者变身代码艺术家——从基础架构到独特优势,一篇不可错过的深度解读。
【8月更文挑战第28天】.NET框架是由微软推出的统一开发平台,支持多种编程语言,简化应用程序的开发与部署。其核心组件包括公共语言运行库(CLR)和类库(FCL)。CLR负责内存管理、线程管理和异常处理等任务,确保代码稳定运行;FCL则提供了丰富的类和接口,涵盖网络、数据访问、安全性等多个领域,提高开发效率。此外,.NET框架还支持跨语言互操作,允许开发者使用C#、VB.NET等语言编写代码并无缝集成。这一框架凭借其强大的功能和广泛的社区支持,已成为软件开发领域的重要工具,适合初学者深入学习以奠定职业生涯基础。
90 1
|
2月前
|
Java Windows 容器
【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
|
2月前
|
人工智能 前端开发 开发工具
.NET技术的开发潜力是巨大的,其核心优势和广泛应用不断推动着软件开发的进步
.NET技术自推出后已成为软件开发的关键力量。本文分三部分探讨其开发潜力:核心优势如统一平台、强大工具与跨平台能力;现代应用中的创新,包括企业级与Web应用、移动开发、云服务及游戏制作;以及面对的挑战与未来机遇,如性能优化、容器化支持、AI集成等。.NET的持续发展正塑造着软件行业的未来。
78 1
|
27天前
|
JSON 测试技术 C#
C#/.NET/.NET Core优秀项目框架推荐榜单
C#/.NET/.NET Core优秀项目框架推荐榜单
|
27天前
|
开发框架 .NET Java
C#/.NET/.NET Core自学入门指南
C#/.NET/.NET Core自学入门指南
|
2月前
|
XML JSON 程序员
总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点
总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点