最近前端圈最火的技术,莫过于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继续繁荣
小广告
欢迎点赞关注 一起早起学习源码
来源:oschina
链接:https://my.oschina.net/u/4417586/blog/4284139