杀死Node.js!全新JS运行时“快到飞起”!
旺道朋友圈广告 -> 最新发布
图片
图片
编译丨千山
         
正式开始前,我们先简要解释一下什么是JavaScript运行时,以及为什么我们应该关心它的速度。
         
想象一下,你用JavaScript写了一个故事,你需要有人大声读出来。JavaScript运行时就像一个友好的“叙述者”,让你的故事生动起来!它是JavaScript故事被读取和执行的特殊环境。从技术上讲,这个“叙述者”由JavaScript引擎等组件组成,它是运行时的核心,负责理解和运行代码。
         
Bun就是一个全新的JavaScript运行时。9月8日,Bun1.0正式发布,标志着其已经达到了稳定的生产就绪状态。
         
Bun的开发人员说,它被定位为Node.js的直接替代品,旨在消除复杂性和缓慢性,通过消除“层层叠叠的工具层”来简化JavaScript开发。

图片

挑战Node.js:集运行时、打包工具、测试框架于一体
         
“Bun是一个用于构建、运行测试和调试JavaScript和TypeScript的完整工具包,从一个小脚本到一个完整的服务器端渲染应用程序,”创建者Jarred Sumner在视频演示中如是说。
         
与Node.js不同,Bun使用苹果的JavaScriptCore引擎,并使用Zig构建。其设计目的是使应用程序更快,而不需要增加代码的额外复杂性。据Bun团队介绍,其主要优点在于:
         
  • 当使用Bun时,你不需要node,它有内置的监视模式。Bun使Node.js工具(包括node、npx、nodemon、dotenv或cross-env)变得不必要。
  • Bun可以运行不同的文件,如 .js,.ts,.cjs,.mjs,.jsx和 .tsx文件,这些文件可以取代tsc和babel等转译器。
  • Bun是一个与jest兼容的测试运行器,支持快照测试、代码覆盖和模拟。因此你可以编写单元测试,而无需安装额外的依赖项。
  • Bun也是一个JavaScript打包器,具有“一流”的性能和与esbuild兼容的插件API。
  • Bun也是一个与npm兼容的包管理器,拥有yarna和npm所拥有的所有熟悉的命令。
  • 既支持EcmaScript模块,也支持CommonJS模块系统。
         
虽然它声称的“替代品”一说也受到了开发者质疑,但从上述优点可以看到,Bun的确试图将运行时、打包工具、测试框架等功能融合在一个工具中,从而解决工具碎片化导致的开发效率低等问题。
         
不过,Bun正式发布的1.0版本和之前的测试版还是有所不同。开发者Jarred Sumner在Twitter上分享说,发布Bun 1.0版本最困难的事情之一是删除了作为测试版一部分的前端服务器。
         
Sumner在上周四发布后的Twitter问答中表示:“我希望我们能有更多的时间让Bun更适合前端开发。”“这对它来说并不坏——你可以使用你已经使用的工具。但我仍然认为将运行时与前端构建工具直接集成在一起是一个巨大的机遇。”
         
他指出,用户的反馈表明,删除前端服务器没有问题,社交媒体上对这一消息的大多数反应都是积极的。发布一天后,关于Bun的热议都是关于它的速度和易用性

图片

为速度而生,但也不仅是速度

Bun最令人称道的是它的速度。它之所以敢于挑战Node.js,最大的底气也来自于这里。
         
根据发布直播中Bun团队的介绍,Bun的写入速度是Node.js的三倍,读取文件的速度是Node.js的三倍。Bun安装包的速度比 npm快29倍;在JavaScript测试中,它比Jest快13倍;打包速度比 esbuild 快1.75倍。
         
Bun所属的开发公司Oven的产品经理Ashcon Partovi特别提到,Bun可以用Bun run代替任何npm run命令,npm大约需要150毫秒才能在MacBook Pro上开始运行脚本,这与Bun的30毫秒形成了鲜明对比。“Npm感觉明显滞后。而Bun给人的感觉是瞬间的。”
         
Bun的竞争对手是Node.js和基于Rust的Deno。软件工程师詹姆斯·科尼克特意比较了Bun、Node.js和Deno这三种运行时,结果显示Bun的性能优于后两者。
         
“在Zig的支持下,Bun的目标是成为一个一体化的运行时和工具包,重点是速度、打包、测试和与Node.js包的兼容性,”科尼克写道:“它最大的吸引力之一是它的性能,它明显比Node.js和Deno都快。”
         
他指出,Bun维护者提供了一个运行HTTP处理程序的示例基准,该处理程序使用React呈现服务器端页面。Bun每秒处理大约68000个请求,而Deno和Node.js则分别处理29000和14000个请求。
         
在他自己对Bun早期版本的测试中,科尼克发现Node.js平均每秒处理21.29次查询,而Deno的平均每秒处理43.50次。Bun平均每秒处理81.37个查询。
         
同时,科尼克还发现,在Node.js, Deno和Bun之间的另一个比较中,Bun是处理并发连接最快的,每秒的请求量也相当高,例如,在10个并发连接的情况下,Bun每秒可以实现11万个请求,而Node.js每秒可以实现6万个请求,Deno每秒可以实现6.7万个请求。
         
当然,速度并不是运行时要考虑的唯一因素
         
开发人员markthree也指出每个运行时都有其优势:“Bun更关注性能,所以就目前的性能而言,它比其他两个运行时要好得多。Deno是安全的代名词,就我来说,我可以安全地使用来自社区的软件包,而不用担心它们对我的系统做我不知道的事情。Node现在也开始大力推进性能和安全性。总而言之,竞争是好事,有利于推进JS运行时的进化。”

图片

Linux和macOS版本已就绪,Windows版本尚属“实验性”

总体来说,很多人对于初出茅庐的Bun还是表示了欢迎。
         
因为基于Node的开发环境往往涉及不同工具的集合,因此很难管理,而Bun和Deno都简化了这一点。与Deno相比,Bun更倾向于与Node.js和CommonJS的兼容性,这对许多开发人员来说是一个加分项。
         
不过,Bun仍有很大的提升空间。比如Bun团队为macOS和Linux提供了生产就绪的本地版本,但团队还在努力让Windows版本正常工作。此次发布会上,Bun面向Windows的版本,被称为“高度实验性”。到目前为止,Bun只在Mac、Linux和Windows Subsystem for Linux (WSL)中工作。
         
根据文档,Windows版本目前只支持Bun运行时,“包管理器、测试运行器和打包器已经被禁用,直到它们变得更稳定为止”。

图片

应该切换到Bun而不是Node.js吗

JavaScript世界中,Bun作为新生代展现出了有趣的一面:有一些Node.js没有的整洁的内置功能,而且速度上也的确很快。如果你正在考虑在你的下一个项目中使用什么,试一下Bun也未尝不可。
         
至于如何在几种JS运行时中取舍,开发人员Shalini Tewari的看法颇具代表性。
         
“Node.js、Bun和Deno都是服务器端js运行时,但它们的目标完全不同。在Bun和Node.js之间的选择取决于你的项目需求。”
         
“如果你需要速度和简单、轻量级的体验,那就选择Bun。如果你想要一个更广泛的生态系统和社区支持,那么Node.js是一个可靠的选择。你甚至可以使用这两种方法使你的JavaScript应用程序强大而高效。”
         
参考链接:
https://medium.com/javascript-in-plain-english/node-js-is-dying-bun-1-0-is-changing-the-javascript-game-2892d4ff6921
https://thenewstack.io/bun-1-0-ships-as-node-js-and-deno-alternative/
https://www.infoworld.com/article/3706293/bun-10-is-out-of-the-oven.html
https://devclass.com/2023/09/11/bun-1-0-javascript-runtime-released-complete-with-experimental-windows-version/

——好文推荐——

TypeScript被放弃!又一知名前端利器决意转回JS,社区不满:这在开倒车!
腾讯交卷了!很争气

图片

         

教育培训机构-如何策划节日招生?
做教育培训,最重要的事情莫过于招生了。面对不同的学员,招生方…于招生。目标不同,活动策划也会不一样。② 活动主题要鲜明不仅主题要鲜明,主题之间要有连续性。就像看连续剧一样,一集接一集,一环扣一环。策划好一系列活动,一个接一个来,从多个角度延续活动的宣传,突出主题,引起关注度。常用的招生方式有:体验课招…-------------想要获得更多运营技巧、doc文案,
教育培训:如何提高满班率和续班率
什么是满班率?就是实际人数除以计划招生人数,这个值就是满班率…员有流失是正常的,但要保证一个概率。在保障老学员续期的基础上,我们也要大胆创新,开设网络课程,拓宽招生区域。实地课程录制后,进一步发行到商弈云课上,通过商弈云课系统转成真实流量,网上有人点击观看,点赞,可以按点播量分佣金。助你在日常的营销推…-----------------------想要获得更多运
培训机构难盈利的问题出在哪里,如何实现盈利?
竞争白热化实地培训班、托管辅导班竞争白热化了,利润越来越稀薄…现没有多少盈利。还有一部分负责人在刚招生时,掌握了不少资金,开始盲目扩张,盲目做课程推广,以期待获得更多生源和收费,从而使培训班陷入了这种恶性循环的陷阱里。其实这些到手的钱,并不是你的利润,而是你未来要支出的钱。如遇到行业快速发展时期,或者…-----想要获得更多运营技巧、doc文件,请“关注”并“转
“差异化”经营是网络培训赚钱的关键所在
“差异化经营”这个词,相信大多数人都耳熟能详,但要做到的却是…。在现有的基础上更新升级或者资源整合就是对现有的产品或者技术,进行升级版本,或者通过一些资源整合,成一个项目。你的技能以前是用来生产或制造产品,现在是把技能升级成知识培训,转换云课堂。直白一点就是可以让老师自行录好课程并上传到学校的商弈云课…在着缺点和不足之处。在创新改革时,要从功能、服务、价格等方面
教育培训行业是如何运作的?
以前读书时,学校附近有个小摊卖鸡蛋灌饼。刚开始的时候只有一家….%,剩下的一对一和多人大班其实市场份额都很小。家长报培训班,是希望孩子能够学到知识。老师通过课上教学和课后辅导来满足孩子的需求,达到成绩提高的目标。我见过上百人的大培训班,为什么一个班这么多人?因为是名师讲课,但人太多坐后面,基本听不到重…是你的核心竞争力。想要得到用户的认同,你就必须做到产品质量好
旺道:实体店怎么做网络营销?
年纪大了,体力不好了,便赚不了什么钱了。所以,一定要在年轻的…写文案都是非常头痛的事情,那么下面我会给大家提供一个解决方案。在互联网营销系统里面有很多细节营销,软文营销就是其中一种,但好多小白头痛写文章,所以可以用这个方法也一样可以植入广告语,或者是图片广告,轮显切换广告,使用 旺道营销系统,也就是每…以帮你吸引海量精准粉丝。有了粉丝,你通过广告、产品、服务就可
旺道:圈里圈外,铁饭碗距离瓷饭碗究竟有多远?
中国人爱混圈子,从线下一直混到线上,各种奇形怪状的圈子勾勒出…不能推则敷衍了事,盼着混到主任科员退休;一种是老黄牛式,踏踏实实、兢兢业业工作,但拙于人际关系,活干得最多,但依旧不见晋升迹象;还有一种是提线木偶式,你扯一下线他动一下,好像脑子和身体是分离的。我突然一拍脑袋,这是提前衰老的迹象啊,工作内容…即使选择留在铁饭碗圈里,也应保有随时离开的思想警惕和进行必要
旺道:微信要双开了,朋友圈推广更好做了
现在手机只能登一个微信,如两个,三个微信的小伙伴们就只能退出…动推广工具、 设置头像点击头像图标,点“+”选择图片,可以上传你的企业,个人头像,产品服务等。旺道微信朋友圈广告免费朋友圈广告-旺道、 设置推广主题点“广告”,再点“+”设置推广的主题(类别),填好中文主题,以及你的网址。教你不花一分钱做朋…简直就是一劳永逸哟。如果你点开发布的文章看不到广告,那就是你
旺道:如何能让网站多个关键词排名百度首页?
最近接了一个单,做婴儿游泳馆加盟的。优化推广范围是全国,但是…泳馆加盟哪家好”、“婴儿游泳加盟多少钱”这类与我息息相关的词。如何能让网站多个关键词排名百度首页?但客户并不认同,客户说这个词指数低,或者说搜的人不多。是,这是一方面原因。但是,指数低有什么关系,你是卖产品还是卖指数。搜的人不多有什么关系,…实现广告效果最大化,来满足大众化的广告需求。对于这样的四两拔
旺道:如何成为网络营销达人?这个技能帮你节省80%的时间
在某次名师讲坛上,听到了一个让人警醒的故事。说有个村子缺水,…准的产品。现在已经不是新鲜事物,好多企业因为百度竞价的高额费用,头疼不已,所以做网站关键词优化排名,成为了企业必选的推广项目。做优化也要做到有成效,不然就是一分钱也是昂贵的。用 旺道智能机器人 就可以持续代替人工去做,它非常聪明,只要你够耐…手,设备先进,你多努力奔跑也于事无补。简单说,要去一个地方,

此文章来源来互联网,如果你有任何版权冲突,可以联络我们,微信号:WANCOME,QQ:1444641。加我们时,请说明来意,我们将优先处理你的问题。




商弈云推  | 一键推  | 随手推  | 圈推广  | 跨圈推
粤ICP备10213132号
旺道商标注册证号:8608864
Copyright © 2016 环企网络信息科技有限公司 版权所有