Node.js 具备企业级应用的能力吗?

最近刷知乎刷到一个问题:Node.js凉了吗?

image.png

其实这个问题每年都会有人反复炒作,正好最近在学习Node.js,也了解了一些行业内的大佬对Node.js的看法,于是写了这篇文章。

直接说结论:Node.js未来前景非常广阔,值得前端开发人员学习。

Node.js的发展历程

一项技术的生命周期是遵循邓宁-克鲁格效应,如下图所示:

image.png

Node.js刚出来时,人们对它抱有非常高的期望,因此Node.js快速发展,这个阶段叫愚民之峰。

但是,将其应用在大规模生产环境中时,发现实际情况可能与你的预期相差很大,可能有些东西 Node.js 做不了,或者需要很复杂的操作,因此Node.js的发展开始下降,陷入低谷,这个阶段叫绝望之谷。

此时,并不意味着Node.js停止了发展,只是发展速度下降了,随着Node.js的能力越来越强时,它又逐渐慢慢被人们所接受并应用,这个阶段叫持续爬坡。

实际上,Node.js 并没有失去它的魅力。目前,Node.js 处于产品化的平缓期(持续爬坡阶段),主要在做底层稳定性的改进,使其更适用于企业级应用开发。此外,还有很多基础建设正在进行中。就像我们之前提到的那张图所展示的那样。

可能许多人感觉近些年来没有什么新的进展和消息,这让一些人觉得 Node.js 的存在感变得有些弱,但事实并非如此,Node.js的社区非常繁荣,前不久刚刚发布了Node 20版本。

Node.js 是否具备企业级能力?

企业级应用通常是指为大型企业或商业组织创建和部署的解决方案和应用。在设计企业级应用时,需要考虑到可能访问的PV/UV 比较大、事务密集、数据量大、用户多以及安全性等方面。

如果将 Node.js 放到后端运行并放在整个企业级架构中时,我们需要与 Java 进行对齐,这时会发现我们与 Java 之间的差距非常大。Java 的生态能力非常强大,几乎涵盖了所有蓝色方框中的服务。

image.png

当我们使用 Node.js 进行开发时,我们需要追赶 JavaSDK。国内大厂,比如阿里巴巴,招募了很多 Node.js 方面的专家来做这个事情,包括 Egg.js 框架和插件,以及为了追赶 Java 的能力而编写的大量 SDK

但如果我们想通过语言层面的SDK追赶Java企业级应用的能力,这还需要很多人力物力,整个 Node.js 社区里也没有那么多人能够长期持续地投入到这个领域中去。虽然人手很多,但是在开源社区中,很难保证每个人都能够长期投入并保持持续性的贡献。

但是,如果借助 CNCF 的生态系统,Node.js实现企业级应用能力是非常容易的。

CNCF 的诞生是从 Docker 开始的,Docker 的出现对服务端应用开发带来了重大变化,消除了许多心理负担。

CNCF,全称Cloud Native Computing Foundation(云原生计算基金会),成立于2015年12月11日,是一个开源软件基金会,它致力于云原生(Cloud Native)技术的普及和可持续发展。

它最重要的产出包括一个路线图和一个全景图。路线图(Trail Map)是CNCF对云原生用户使用开源项目以及云原生技术的推荐过程。在路线图的每个步骤中,用户都可以选择供应商支持的产品或自己动手使用开源项目。

image.png

CNCF 是一个强大的生态联盟,企业级应用架构的基础建设已经被 CNCF 所覆盖。CNCF 是基于 Docker 容器的,因此它与编程语言无关,这让服务端部署应用程序变得更加方便了,即使像 Java 这样的语言也可以很方便地部署在 CNCF 上。

因此,Node.js 借助 CNCF 的整个生态系统目前是已经具备企业级应用能力的

总结

在国内,有很多人为 Node.js 生态系统做出了杰出的贡献,如朴灵老师、狼叔、天猪等。当一个人深入参与一个生态系统的发展并伴随其历史做出贡献时,这是非常值得尊敬的。因此,我们应该尽可能地参与其中,而不是做一个旁观者。

即使无法参与其中,至少也不应该攻击 Node.js,因为它只是一个开源的框架,如果你觉得它不好,你可以参与共建,找到行业内的痛点,成为一个核心开发者。Node.js 的发展需要靠整个开源社区的力量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哎,好难

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值