Deno 已來,你來不來?

2020-05-15 01:46:05 +08:00
 JayLin1011

「 Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.」

翻譯:Deno 是使用 V8 并内置于 Rust 的 JavaScript 和 TypeScript 的简单,现代且安全的运行时。

我們可以是站在「 Nodejs 之父」的肩膀上,開始了解和嘗試使用。

真香警告:Promise 語法 + TypeScript 支持 + ES 模塊 + ...

「 deno 这个名字就是来自 Node 的字母重新组合( Node = no + de ), 表示"拆除 Node.js"( de = destroy, no = Node.js )。」

轉載自阮一峰老師的網絡日誌 http://www.ruanyifeng.com/blog/2020/01/deno-intro.html

13215 次点击
所在节点    Node.js
94 条回复
DT27
2020-05-15 11:47:26 +08:00
求前端歇歇吧。。。
sslyxhz
2020-05-15 12:17:30 +08:00
@ss0xt 等着 done
hahaayaoyaoyao
2020-05-15 12:19:57 +08:00
@murmur 其实不需要后端渲染引擎也可以获取到的, Google 就会执行 js 的
fantasybei
2020-05-15 12:25:18 +08:00
node, deno,enod,oden,endo.......
james122333
2020-05-15 12:48:10 +08:00
大而全...
lancelock
2020-05-15 13:02:19 +08:00
@JayLin1011 所以为什么一定要有 ts 转译 js 这个过程?
JayLin1011
2020-05-15 14:09:57 +08:00
@lancelock 那你得問瀏覽器了,他不認識 TS 。
lancelock
2020-05-15 14:39:56 +08:00
@JayLin1011 你在说啥呢,代码在 deno 这个运行时里跑,又不在浏览器里跑,关浏览器啥事
VtoExtension
2020-05-15 15:02:34 +08:00
社区也回答过不要想着 deno 去取代 nodejs 。
0.x 和 1.0 API 改了不少,建议不要用于生产环境,
我用来写单文件脚本的,
如果你觉得 bash 不够用,python 又不会用,但自己熟 JS/TS 那这玩意适合了
myon
2020-05-15 15:10:29 +08:00
看了下文档,已经有类似 go mod 的`Import maps`了,估计最后包管理整得跟 go 差不多
npm 生态现在也有 cdn 可以转换
目前比较缺的是编辑器支持
chenluo0429
2020-05-15 15:39:17 +08:00
@lancelock ts 没有运行时,编译成 js 就可以白嫖 js 的运行时。否则要么自己实现一套 ts 的运行时,要么实现一个 ts 到二进制的编译器
resist
2020-05-15 15:48:54 +08:00
已经放弃了 JS
miao666
2020-05-15 15:55:19 +08:00
准备今年学习下 javascript,变化太大了有点看不懂了
threeEggs123
2020-05-15 16:12:01 +08:00
来不?来了,来了吗?快来了。来了,来了。还来吗,来不了。
lancelock
2020-05-15 16:26:08 +08:00
@chenluo0429 所以他写了 deno 为啥不彻底点,写个 ts 的执行引擎替换掉 v8,不然又有多大意义,来来回回在 js 这首破船上缝缝补补
libook
2020-05-15 16:48:31 +08:00
我一直都感觉说“Deno 将来要取代 Node”听起来就像是“Elasticsearch 将来要取代 MongoDB”或者“Go 将来要取代 C++(事实上 Go 初期确实是这么宣传的)”,本身在设计和定位上都是有区别的东西,硬生生捆绑在一起,引起一轮又一轮争论,但这种争论对于讨论的问题本身是没有什么意义的,反而对新技术的推广有很好的的效果……

我个人比较信服 The Hype Cycle,Deno 目前应该是结束第一阶段开始第二阶段的快速增长,但我选择等第四阶段稳步上升期再看看。

感兴趣的可以深入了解一下技术细节,了解得越深,就能在越客观的角度上看待一项技术。
DOLLOR
2020-05-15 17:05:42 +08:00
@libook
国内垃圾营销号、自媒体的误导,天天“XX 要火”“XX 要凉”“XX 取代 OO”的 UC 式宣传,
然后一群人技术能力不咋的编段子能力倒是挺强的人跟风抖机灵,没几个人关注技术。🤷‍♂️
Cryse
2020-05-15 17:20:14 +08:00
坐等大佬们先踩坑...
stillyu
2020-05-15 17:50:33 +08:00
1. deno 原生支持 typescript,所以不太需要 is-number 这样的包,不会造成数量庞大的依赖包的现象
2. 都用 deno 了,大多数都会用 typescript 开发的
3. 前端的工具链太多,转换过来难度比较大,但后端造轮子是很快的,特别是像 typeorm 这种本来就是用 ts 写的库
cmdOptionKana
2020-05-15 18:01:57 +08:00
@libook Go 官方不可能宣传要取代 C++,有没有 GC 是本质区别。怀疑你记错 Rust 了。

不仅 Go,任何有 GC 的语言都不可能宣传取代 C/C++。

另外,Deno 的情况比较特殊,不能用其他事情去类比。Deno 的作者就是 Node 的作者,他自己出来演讲说 Node 不好(说法是 js 发展太快已经与开发 Node 当时的情况不匹配),取名为 Deno 也是故意带着与 Node 对着干的意思。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/671840

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX