时隔 4 年 Deno 2.0 候选版本发布,与 Node.js 的兼容性更好了!

b9382f6ec34cd50d7c96988140e32904.jpeg

时隔 4 年 Deno 2.0 发布了候选版本[1],但这一次社区上显得有点寂静!

Deno 最初是 Node 的原创者 Ryan Dahl 创建的,他在发布 Deno 1.0 时曾提到 Node.js 在 2009 年时不得不做出的一些妥协和错误,并列出了 “十个 Node.js 的设计错误” 相关的文章网上很多。

这次从 Deno 2.0 候选版本发布内容来看,有些似乎又在像 Node 靠拢!

window 消失了

2.0 版本中移除了全局的 window 变量,这会带来一些破坏性更改,本身该变量旨在提高与浏览器运行代码的兼容性,如果 2.0 后某些依赖该变量进行判断的库就可能会出现问题。

window 移除了,但支持了 Node.js 常用的 process 全局变量,这意味着更多为 Node.js 编写的库能够无缝运行。

提高与 Node.js 兼容性

Deno 的初衷是让其更加简单并遵循标准,例如采用 ECMAScript 模块系统(ESM)取代 Node 使用的 CommonJS。Deno 2.0 对 CommonJS 支持得到了增强,也支持更多的 Node.js API,从而进一步提高了与 Node.js 库的兼容性。

其它的一些更新

  • 依赖管理得到了改进

  • 并对权限系统进行了更改,将操作系统权限和 Deno 权限区分开来

  • 许多 API 已经稳定(例如 WebGPU)

  • TypeScript 5.6 支持

  • Deno 2.0 删除了 bundle 子命令,因为它没有达到开发人员的预期

  • 删除了一些 API,请参考迁移指南 `https://docs.deno.com/runtime/reference/migrate_deprecations/`[2]

  • ... 更多参考官方发布文档

Deno 的未来?

根据 StackOverflow 2024[3] 年的调查,40.8% 的开发者使用 Node.js,而只有 1.9% 的人使用 Deno。

相比之下,Bun 等竞争者凭借更好的 Node 兼容性抢占了部分市场,例如 Bun 从一开始就拥抱了 Node 和 CommonJS 的兼容性。Node.js 现在也开始试验性支持支持 TypeScript,这进一步影响了 Deno 的吸引力。

你觉得未来 Deno 会怎么样呢?

参考资料

[1]

Deno 2.0 发布了候选版本: https://deno.com/blog/v2.0-release-candidate

[2]

https://docs.deno.com/runtime/reference/migrate_deprecations/: https://docs.deno.com/runtime/reference/migrate_deprecations/

[3]

StackOverflow 2024: https://survey.stackoverflow.co/2024/technology/#most-popular-technologies****

- END -

026ac242c480837676aa6a946f4534cd.gif

敬请关注「Nodejs技术栈」微信公众号,期望与志同道合的你一起打造优质 “Nodejs技术栈” 交流群,一起互相学习进步!可长按下方二维码添加【五月君】个人微信备注 “Node” 邀请入群。

331dffb5cb0e121605d184d83eedd02a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值