Node之父发布新项目deno:下一代Node
极客时间编辑部
讲述:丁婵大小:1.10M时长:02:25
近日,Node 之父 瑞恩·达尔(Ryan Dahl)发布了新的开源项目 deno,从官方介绍来看,可以认为它是下一代 Node。通过使用 Go 语言代替 C++ ,重新编写跨平台底层内核驱动,上层仍然使用 V8 引擎,最终提供一个安全的 TypeScript 运行时。
据介绍,Deno 诞生的目的,是为了创建更简单和更安全的非浏览器 runtime,它在这个时候出现,是因为现在的开发工具比 2009 年更好。
具体而言,Deno 的特性包括:
支持 TypeScript 2.8 开箱即用;
无 package.json、无 npm、不追求兼容 Node;
通过 URL 方式引入依赖,而不是通过本地模块,并且在第一次运行的时候进行加载和缓存;
可以控制文件系统和网络访问权限以运行沙盒代码,V8 和 Go 之间的访问只能通过 protobuf 中定义的序列化消息完成;
在发生未捕捉错误的时候自动终止运行;
支持 top-level 的 await;
最终创建单一的可执行文件;
它的目标是兼容浏览器;
Deno 可以作为库引入,用于建立自己的 JavaScript runtime。
在这些特性中,有好几个都是针对目前 Node 的痛点,包括无 package.json、依赖的引入和更新方式,针对的都是被广泛吐槽的过大的 node_modules。
瑞恩·达尔表示,Deno 和 Node 的区别,从更高的层面上来说,Deno 可以尽可能的简化 V8 与系统 API 的耦合,并打造更加简单、稳定的模块系统,以及一个安全的沙箱运行环境。
其次,使用 Go 而不是 C++ 作为底层语言,可以在添加高级功能时比在 Node 中更加容易,比如在 Go 中添加 http2.0 支持,只需要添加一些路由 API 和一些配置到 protobuf 中就可以了。
Deno 的诞生,将启发更多的开发者投入到下一代 Node 的探索当中,这比之前 Node 的一些分叉更具备创新和革命性。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论