
最近前端圈最火的技术,莫过于 5-13 发布的 deno1.0 版本,很多大兄弟私信问我怎么看这个技术, 今天上午录了个视频放 B 站,对文字稿不感兴趣的直接移步
deno 是什么
deno 和 nodejs 差不多,都是一个 javascript 的服务器运行时,和 node.js 还是一个作者,他有那些优点呢
新特性关键点(代码)
- 原生支持 typescript javascript 和 webassembly
- es6 modules,通过 url 和文件 import
- 没有 npm,node_modules 和 package.json
- 依旧基于 V8
- 安全控制机制
- 不兼容 node 兼容浏览器
- 常见工具内置
- deno bundle 替代 babel webpack
- deno fmt 替代 prettier
- deno test 期待 jest
- deno lint 替代 eslint 等
安全性和原生 ts 支持很亮
什么技术会火
deno 比 node 优化的地方,都是小优化,一个新技术能不能普及,这个技术本身够不够牛逼只是以方便,还有 0. 出现时机是不是填补了领域空白
- 填补空白后,开发者有没有跟上,贡献繁荣的生态
- 生态繁荣后吗,有没有大公司实战案例(意味着大流量和岗位)
- 单纯的技术优势,只是小玩具,而且你怎么知道 node 不会加上这些特性,维护自己的防护林呢 ,比如 node 也跟进 url import,自带 typescript
看法
node 的出现,是填补 js 做后端不给力的空白,填补前端自动化的空白,干柴烈火,直接火了,就像现在出现一个新的游戏,可玩性稍微领先王者荣耀,皮肤稍微好看一点点,你就能一年赚几百亿吗 想啥呢 大兄弟
就像 parcel,号称零配置,到今天依然是各小众的竞品项目, 源码实现的非常有呀,值得学习源码,但是新手还是 webpack 把
问题
- webpack,jest,eslint,babel 等生态内置,看似好消息,但是整个前端社区全体维护这么多年的成熟项目,一个 deno 团队很难替代 至少没法应对这么多诡异的需求 , 你去看下 webpack 那快 7000 个 issue 就知道
- 包管理感觉和 npm 没有本质区别,而且不太好管理版本,我觉得以后还会加入
- 远程包的安全问题 隐患
- 用 go 吹上天,现在抛弃 go 用 rust 又被吹上天,我严重怀疑这是一波人
总结
deno 是个很有意思的小工具,但不是下一代的 nodejs,如果有一天有大流量的项目大面积使用,才有学的价值,现在这个时间点只能作为玩具玩玩,如果不准备研究源码,就别学了
Node 还会持续繁荣,就像因为早起的一些设计缺陷,javascript 的作者不是很喜欢 js,但是由于出现的时候填补了浏览器脚本的空白,外加生态的繁荣,让 js 一直火爆到今天
而且新技术的研究伴随着高风险和高收益,我直接说一个简单的规则,如果你的月薪低于 2W,那还是先不着急研究高风险的新技术了,如果你的月薪高于这个,可以考虑搏一搏,研究一下 deno 的源码,万一以后火了,你就是早起的布道者
很多人喜欢分享这个图,用来表达 deno 的强大,我也喜欢这张图,但是我看到的,deno 只是一波沙尘暴, 想建设强大的 node 社区,需要大量的时间积累
期待 deno 有新的发展,也看好 node 继续繁荣
小广告
欢迎点赞关注 一起早起学习源码

