我才刚入门,Node.js 就要完了吗?

我才刚入门,Node.js 就要完了吗?

Deno1.0发布之后的这些天,关于Node.js的讨论也甚嚣尘上。在社交媒体和技术论坛中,许多开发人员都在谈论Node.js的命运走向。甚至有人断言Node.js即将迎来终结,至少这一天迟早会到来。我并不是什么先知,但在本文中我会与大家分享一些看法。本文主要尝试回答“Node.js是否要完”这个问题。我会向大家解释,为什么现在我们不必在意那些对Node.js命运的悲观预测,即便这种预测并非空穴来风。
本文最初发布于GeekyHakcer博客,经原作者授权由InfoQ中文站翻译并分享。
每当一种新的语言或技术诞生时,马上就会有很多人谈论它的终结。不信?只需打开谷歌并输入:
(随便选一种语言或技术)快要完蛋了吗?
不管你输入的是哪种技术都可以搜出来一大堆文章来,其中很多无疑写的就是垃圾。就算是Kubernetes之类的新技术也不能幸免,Node.js自然也不例外。但最近炒热“Node.js要完”这个话题的是Deno1.0版本的发布。
如果你还不知道什么是Deno,请继续阅读下一节内容。这样你就会知道现在弥漫的恐慌情绪是从何而来的了。
Deno是由Node.js创建者RyanDahl编写的Javascript运行时。它的名字是“Node”一词的变体
这个项目是Dahl在2018年的演讲“我对Node.js感到遗憾的十件事”中宣布的。相比以C/C++编写的Node.js而言,Deno是用Rust编写的。
在撰写本文时,Deno只有一个执行文件,压缩后的大小约为15MB。
漂亮的Deno
此外,它没有类似NPM的或独立的外部包管理器。它的包管理是内置的。
Deno运行在沙盒模式下(意味着无法直接访问文件、网络和其他IO),因此任何权限都需要显式授予才行。
对于TypeScript爱好者的一个好消息是,Deno默认支持TS。
之所以社区突然开始认定Node.js要完,主要是因为Deno的1.0版已于2020年5月13日正式发布。虽然这个项目已经开发了两年多时间,但这个正式版本在社交媒体中引发了Node开发人员的恐慌。
不用说,Deno和Node.js之间有很多区别。而且Deno不一定是Node.js的替代品(目前为止是这样),但不管怎样许多人都感到惊慌失措。我对他们恐惧的原因归了一下类,并分别做了探讨。
造成现在这种局面的一大因素是两种产品有着相同的创造者。而且许多人认为RyanDahl不会再在Node上浪费时间了。于是乎,Node.js要完。
这个假设看似有理,其实大错特错。Node.js拥有一个庞大的社区,比其他许多社区都大得多。所以这并不是什么个人项目。
有人在反驳时将Dahl对Node.js的意义和LinusTorvalds对Linux的意义做了类比。我要说的是,这根本不是正确的对比。
首先,Dahl自2012年以来就没再参与Node.js的开发了。但在过去的30年来,Torvalds一直在以某种形式参与Linux的相关工作。
其次,就算是Torvalds离开了Linux的内核社区,也不能说Linux就会完蛋。而且也不要把Torvalds的退出与Linux社区在2018年9月的混乱局面划等号。2018年的那次混乱是一桩原因复杂的黑暗事件,其中只有一部分和Torvalds的退出有关系。
最后,Torvalds还创建了Git,但并未参与其维护工作。他把Git全盘交了出去,可是Git完蛋了吗?
众所周知,Node.js社区是无人维护的库的墓地。不夸张地说,社区中每天诞生或死亡的库的数量超过了每个人的细胞数量。
开源社区每隔三两天就会诞生一个新的框架,新框架或许会风骚一时,然后突然就没人维护了。随便搜一下,你就能在GitHub中找到几十个Star数众多但没人维护的项目。
可能有人会说,如果这就是社区中的日常,那么我们如何断定Node.js就不会遭遇同样的命运呢?
答案是不好说。Node.js的命运取决于社区和企业的支持。重点不在于项目筹集了多少资金,而在于它是否能得到更多的贡献和支持。如果大量使用Node.js的那些公司能雇用一些人为这个项目做出积极贡献,那么Node.js几乎不可能迎来末日。举个例子,Java已经存在25年了。Java之所以如此长寿,除了它可以在几乎所有设备上广泛使用的优势之外,另一个原因就是众多公司的支持。它得到的支持不仅来自于Oracle,而且还有Amazon、IBM和其他许多公司。
但请不要忘记,许多使用Node.js的公司都是寿命短、预算紧的初创公司。我们不能指望这些公司做出多大贡献。Node.js需要的是像Facebook或谷歌这样钱包鼓鼓的巨头的支持。
如果社区走向分裂,和/或大公司不再支持Node,那么我们就有理由担忧Node正走在衰落之路上了。
当然,这一点没有疑问。在构建Node.js的过程中,人们获得了丰富的经验和知识,所以Deno能做得更好也不奇怪。但是,要评估一项技术的前景不能只看它的能力。那只是其中一个因素。普及率和支持水平是更重要的因素。而且Deno在这些方面并无优势,因为它还很年轻。因此,Node.js不会这么快死掉的。
但我们还可以假设最坏的情况,然后会发生什么呢?继续看下一节
我调查时发现,有些人讨论Node.js的终结就好像在谈论一个人刚刚死掉一样。问题是,编程语言或技术的消亡过程并不像人类的死亡那样。这种消亡不是一夜之间发生的事情。
技术的更新换代通常需要花费多年时间,因为公司无法在一夜之间或一个月内换掉现有的产品,然后迁移到新产品上。Node也不例外。Node.js库不能用在Deno中,为Deno开发新库是需要花时间的。另外,不要忘记专业知识的可用性。现在很少有人熟悉如何使用Deno来构建生产规模的产品。所有这些至少需要几年的时间。
Node没机会了!
即便Node的消亡时间比预期的要早,市场也会长期需要相关的岗位。当然它不会像COBOL那样。但至少在接下来的5年中Node的开发人员都能找到工作。这应该可以为Node开发人员提供足够的缓冲期来转换方向。另外,由于Deno和Node都是JS世界的成员,因此从一个切换到另一个的过程并不会那么烦人。
Node.js至少在未来五年内不会消亡,而当下在社交媒体中关于它死期的争论毫无意义。尽管有一些关于它走下坡路的判断,但到目前为止我们还没有一个明确的结论。就算我们对Node.js假设最坏的情况,而对Deno假设最光明的未来,各家公司要切换到新技术上依旧需要很长的时间,而且Deno的库生态建立起来也需要时间。如果你忧心忡忡,或者对新技术充满好奇,我强烈建议你尝试一下Deno。
最后,我想声明一下,我对Deno没有偏见。这是一个前景光明的好项目。我写这篇文章的目的不是要讨论Deno的未来,而是要减轻Node.js开发人员的压力。
作者介绍:
KasraMadadipouya是一位软件工程师,对软件架构和设计、简洁代码和机器学习充满热情。他很享受用Java、Scala、Python和JavaScript编程的乐趣。喜欢博客、写作、机器学习、音乐、步行和天文学。i3WM粉丝。Linux和免费开源软件(FOSS)的资深支持者。对Deno感兴趣的话,可以看一看作者最新的教学资料:如何使用Deno和Oak构建RESTAPI。邮箱:kasra@madadipouya.com
原文链接:
https://www.geekyhacker.com/2020/05/19/is-node-js-dying/

主题测试文章,只做测试使用。发布者:最新稳定辅助网,转转请注明出处:https://www.744broad.com/15476.html

(0)
上一篇 2023年3月7日 上午1:12
下一篇 2023年3月7日 上午1:14

相关推荐

  • 精品推荐—哥窑百极碎浅口洗,宣德青花碗

    精品推荐—哥窑百极碎浅口洗,宣德青花碗 “哥窑”名列宋代五大名窑,在陶瓷史上有举足轻重的地位。哥窑胎多紫黑色、铁黑色、也有黄褐色。釉为失透的乳浊釉,釉面泛一层酥光,釉色以炒米黄、灰青多见,釉面大小纹片结合。作为五大名窑之一的哥窑,随着文献资料的不断发现和考古资料的不断充实,对哥窑的认识已渐趋清晰。然而;由于缺乏同代文献,且后代文献常是一鳞半爪,零零碎碎,有的…

    RUST资讯 2023年2月28日
    40
  • 苹果拥抱Rust 计划未来主要使用Rust构建新功能

    苹果拥抱Rust 计划未来主要使用Rust构建新功能 微软去年宣布在涉及安全的模块中会使用Rust来替代C、C++和其他语言,以改进应用的安全情况,并解释为什么他们认为Rust目前是业界采用的最佳选择。除了具备性能与安全方面的特性,Rust还拥有健康的生态和社区,综合起来各种因素最终推动他们采用Rust。现在,另一家科技巨头——苹果也表示对将C代码移植到Ru…

  • 《中国好声音》 2019 欧洲地区荷兰海选总决选圆满落幕

    《中国好声音》 2019 欧洲地区荷兰海选总决选圆满落幕 《sing!china中国好声音》2019全球海选欧洲地区荷兰海选于5月5日晚在荷兰海牙GIA落下帷幕。中国驻荷兰王国大使馆蒋华主任特别出席了该活动,并为获得冠军的选手颁奖并致辞。蒋华主任肯定了此次活动的圆满成功!同时也期待中荷之间的文化交流更加的紧密与融合。此次活动由DutchConnectionI…

    RUST资讯 2023年2月14日
    60
  • Web开发者须知:9个流行于GitHub上的存储库

    Web开发者须知:9个流行于GitHub上的存储库 全文共2830字,预计学习时长9分钟来源:PexelsGitHub网站上包含了目前所有与web开发相关的内容,提供一站式服务。这里有框架,有演示,包罗万象,可能没有什么是你找不到的。但这也是问题所在——其中有很多有趣的东西,但也许你永远不会知道,原因就在于GitHub上可用的存储库实在太多。所以,小芯决定在…

    RUST资讯 2023年2月22日
    120
  • 世界连环杀人恶魔:黄道十二宫杀手(上)

    世界连环杀人恶魔:黄道十二宫杀手(上) 序:黄道,是指以太阳为中心,地球环绕太阳所经过的轨迹,所谓黄道十二宫(zodiac),就是指黄道30均分后的十二星座。在希腊历法中,第十二宫象征着暗中的行为或阴暗的场所,因此代表着隐遁、秘密、敌人、潜意识、医院、监狱等。第一案:情人小径谋杀案(又名赫曼湖路谋杀案)1968年12月20日星期五17岁的大卫法尔戴(Davi…

  • 两个奇技淫巧,将 Docker 镜像体积减小 99%

    两个奇技淫巧,将 Docker 镜像体积减小 99% 对于刚接触容器的人来说,他们很容易被自己构建的Docker镜像体积吓到,我只需要一个几MB的可执行文件而已,为何镜像的体积会达到1GB以上?本文将会介绍几个奇技淫巧来帮助你精简镜像,同时又不牺牲开发人员和运维人员的操作便利性。本系列文章将分为三个部分:第一部分着重介绍多阶段构建(multi-stagebu…

  • PyHubWeekly 第二十三期:机器学习竟然如此简单

    PyHubWeekly | 第二十三期:机器学习竟然如此简单 PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly,如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~本期为大家推荐…

    RUST资讯 2023年2月19日
    90
  • Rust 多久更新一次?

    Rust 多久更新一次? 作者|STEVEKLABNIK译者|Arvin,责编|夕颜头图|CSDN下载自视觉中国出品|CSDN(ID:CSDNnews)最近我一直在思考Rust的变更频率。有些人断言,Rust如今保持着较少的变动,趋于平静,还有一些人说Rust的变化仍然太大。在这篇博文中,我想通过数据,分析一下这个问题。首先我会提出我的看法,接下来介绍我的方…

    RUST资讯 2023年2月20日
    70
  • 5000mAh长续航的性能先锋 iQOO Z5手机评测

    5000mAh长续航的性能先锋 iQOO Z5手机评测 2000元价位内的5G手机一直拥有庞大的消费群体,但低价不意味着低配置、低性能,iQOOZ系列这几年就在低价市场领域取得了非常不错的好成绩。就在今日,iQOOZ5终于正式发布,这款手机集合了高通骁龙778G处理器、满血版LPDDR5以及UFS3.1,同时还内置了5000mAh超大电池,从性能到使用体验都…

    RUST资讯 2023年2月16日
    80
  • 购车不到十天中控台就掉漆?雷克萨斯车主急了,4s店:香水导致

    购车不到十天中控台就掉漆?雷克萨斯车主急了,4s店:香水导致 购车不到十天车辆中控台面板出现破损福州的林先生说,5月份公司花费了33万元购置了一辆雷克萨斯ES200,但提车不到十天,他们就发现车子的中控台面板上,有一处明显的不规则的破损痕迹,长约2cm,宽约1cm。十分不美观。林先生表示,发现问题后也找到了购车的雷克萨斯4S店,4S店仅是简单查看就判断中控台…

    RUST资讯 2023年2月26日
    40
关注微信