「 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 。
github https://github.com/denoland
官網 https://deno.land/
1
autoxbc 2020-05-15 02:25:12 +08:00
感觉 api 还不太稳定,印象中 readdir <=> readDir 这种反复变动好几次,估计 1.0 之后也不会冻结的
|
2
JayLin1011 OP @autoxbc 正式版 13 號才發佈,不穩定是常態,但是不妨礙我們了解和嘗鮮,個人覺得 vue3 和 Deno 有空都可以先學習了。「我來到,我看見,我征服。」,與時俱進就是王道。
|
3
Hanggi 2020-05-15 06:42:00 +08:00 1
跑不了 React 或者 Angular 之前是不可能火的。
|
4
chengxiao 2020-05-15 06:50:28 +08:00
我是越来越不懂前端了...折腾劲儿真大
|
6
zhengdai1990 2020-05-15 07:11:30 +08:00 via iPhone
不来,来不动
|
7
dartabe 2020-05-15 07:26:51 +08:00
据大神说没有解决痛点 只是作者偏执的要实现自己的想法
|
8
GaoJian 2020-05-15 07:41:01 +08:00
前端真乱
|
9
jinliming2 2020-05-15 07:47:47 +08:00 via iPhone
来来来,学学学,更新技术栈……
看起来终于把 node 里那些烦人的东西解决了大半了…… 先试试,看看能不能 duang duang duang 吧…… |
10
fakeshadow 2020-05-15 07:57:49 +08:00
玩了一阵子,感觉没库可用。等各位大神丰富了生态我再来吧。
|
11
xiaket 2020-05-15 08:01:52 +08:00
等 endo 的时候再来吧
|
12
k9982874 2020-05-15 08:04:19 +08:00 via iPhone 2
楼上说前端圈乱的,还真就把 node.js 只当前端工具链使啊
|
13
seakingii 2020-05-15 08:16:39 +08:00 1
个人感觉比 Deno 比 Node 爽多了.
底子好,再发展发展比 Node 有前途. |
14
rioshikelong121 2020-05-15 08:28:29 +08:00
这楼里面的弱智言论可真多啊。 哈哈哈哈
|
15
duan602728596 2020-05-15 08:32:24 +08:00 via iPhone
不会有人认为 node 的依赖只能写版本号吧,不会有人认为 node 不支持 github 地址吧
|
16
hareandlion 2020-05-15 08:37:49 +08:00
不来,一样是新语言,golang/rust 不更好玩?出卖灵魂的工作语言的话,用什么都一样
|
17
seakingii 2020-05-15 08:44:56 +08:00
当前本人会尝试使用 deno,当库 /生态成熟时,应该会用来替代 node.js 在相关的项目.
|
18
ss0xt 2020-05-15 08:47:50 +08:00
|
19
janxin 2020-05-15 08:48:55 +08:00
不来不来,用 JS-like 为什么不用 Node ?
不能使用这么多 npm 包,为什么不用其他的语言? |
20
murmur 2020-05-15 08:51:21 +08:00
现在什么风气,东西好用不好用不谈,以前是造轮子,现在先造个语言再说
|
22
murmur 2020-05-15 08:57:27 +08:00 3
以前后端搞模板渲染得时候,前端做前后端分离,等现在后端开始做接口弄前后端分离的时候,她又把渲染扔回后端了
真的是前端的嘴,骗人的鬼 |
23
12tall 2020-05-15 09:02:27 +08:00
持观望态度
|
24
huruwo 2020-05-15 09:05:45 +08:00
弱弱的问一句现在还有人只用 jq 吗
|
25
me876 2020-05-15 09:07:34 +08:00
我就想知道 deno 有没有 node_modules 这个恶心人的东东了
|
27
JayLin1011 OP @chengxiao 確實,原生 JS 才是王道,jQuery 天下第一。
|
28
JayLin1011 OP @zhengdai1990 我不來,我不是,我沒有,是他們來了,是他們先動手的。
|
29
JayLin1011 OP @dartabe 作者確實一直很偏執,從 GO 到 Rust,還有各種性能評測,改了又改。
|
30
max1024 2020-05-15 09:24:49 +08:00
不来。我觉得前端目前已经足够了。
|
31
JayLin1011 OP @GaoJian 神仙打架,娛樂看官。
|
32
LiuJiang 2020-05-15 09:25:21 +08:00
没啥意义,Deno 作者想干掉 node_modules,就这么简单。
|
33
JayLin1011 OP @fakeshadow 你趕緊幫忙造輪子=。=
|
34
JayLin1011 OP @seakingii 時間會給出答案。
|
35
JayLin1011 OP @rioshikelong121 物以類聚,人以群分,還好你比較睿智和出眾。
|
36
JayLin1011 OP @hareandlion 這不是新語言。。只是一個兼容 JS 和 TS 的運行時。
|
37
JayLin1011 OP @seakingii 雖然說取代 node 還比較早,但嘗試使用總是沒錯的,冒險精神也是程序員的優秀品質,走出舒適圈就是進步的第一個里程碑,你的方向是正確的。
|
38
betulac 2020-05-15 09:32:53 +08:00
什么时候转换工具出来了我自然就支持了
|
39
collery 2020-05-15 09:34:36 +08:00
前端你们是真的折腾
|
40
Chenamy2017 2020-05-15 09:37:04 +08:00
早起的我一脸懵逼。
|
41
lancelock 2020-05-15 09:41:30 +08:00
说实话,宁愿他放弃支持 js,只支持 ts
|
42
lneoi 2020-05-15 09:55:35 +08:00
慢慢来 还得等几年发展
|
43
JayLin1011 OP @ss0xt 自然選擇之前端生態進化史。。
|
44
chenyu0532 2020-05-15 10:09:30 +08:00
等你们人肉测试了。。。
|
45
windfarer 2020-05-15 10:10:54 +08:00
学不动
|
46
LeeeeeeezQ 2020-05-15 10:11:15 +08:00
'deno' = 'node'.split('').sort().join(',');
|
47
JayLin1011 OP @janxin 「 Any application that can be written in JavaScript, will eventually be written in JavaScript 」。——Jeff Atwood
翻譯:「一切可用 JS 實現的應用,最終將由 JS 或 TS 實現。」——阿特伍德定律 |
48
JayLin1011 OP @12tall 可能是這恐龍標誌不夠可愛,去提個 issues 。
|
49
JayLin1011 OP @max1024 知足常樂。
|
51
JayLin1011 OP @me876 沒有是沒有,但模塊和包還是要的,提供一個更多元化的運行時和更統一的生態。
|
52
JayLin1011 OP @betulac 不存在的。
|
53
JayLin1011 OP @lancelock 只要你支持了 TS,JS 不也支持了嗎? TS 編譯之後就是 JS 。
|
54
cai314494687 2020-05-15 10:28:13 +08:00
|
55
Mark24 2020-05-15 10:36:48 +08:00 2
作为前端,觉得早早抛弃掉 JS 以及其系列就对了
JS 不够优秀,历史包袱中,混乱,BUG 多美名其曰特性,毕竟是短时间搞出来的,本来不是这样用的。 JS 能够大行其道就是对浏览器具有垄断权 应该重点完善 Webassembly,然后让所有语言都可以接入浏览器。 浏览器未来想要成为主流平台、游戏、视频、软件 app 、AI 、科学计算等等,JS 太混乱了扛不住 让合适的工具做合适的事情吧 别折腾了 |
56
imlinhanchao 2020-05-15 11:01:07 +08:00
前面一堆說前端的,是確實沒有看過 Deno 的介紹啊。Deno 重點解決的是 Node 的後端問題,主要方向應該也是在此。
|
57
JayLin1011 OP @Mark24 Deno 支持 WebAssembly 程序。JS 不僅要壟斷瀏覽器,還要壟斷 Serverless 。
|
58
namelosw 2020-05-15 11:23:46 +08:00
@Mark24 讲真我猜 node 和 deno 估计以后是主流 WASM runtime,其实现在已经支持了。
而且 WASM 主流浏览器都已经支持了,compile 到 WASM 是各个语言自己的事情了。 只不过大部分社区都在等现成的 GC,懒得自己写 runtime,所以大部分 WASM 成熟的语言都偏 bare metal,比如 C/C++,Rust,Go 。 |
59
leega0 2020-05-15 11:33:24 +08:00
万物皆可 import
|
60
crella 2020-05-15 11:40:30 +08:00
让谷歌垄断某个领域的坏处早就出现了。
希望 GNU 、Mozilla 、Microsoft 在编程语言方面减少谷歌的垄断,哈哈。 |
61
DT27 2020-05-15 11:47:26 +08:00
求前端歇歇吧。。。
|
63
hahaayaoyaoyao 2020-05-15 12:19:57 +08:00
@murmur 其实不需要后端渲染引擎也可以获取到的, Google 就会执行 js 的
|
64
fantasybei 2020-05-15 12:25:18 +08:00
node, deno,enod,oden,endo.......
|
65
james122333 2020-05-15 12:48:10 +08:00
大而全...
|
66
lancelock 2020-05-15 13:02:19 +08:00
@JayLin1011 所以为什么一定要有 ts 转译 js 这个过程?
|
67
JayLin1011 OP @lancelock 那你得問瀏覽器了,他不認識 TS 。
|
68
lancelock 2020-05-15 14:39:56 +08:00
@JayLin1011 你在说啥呢,代码在 deno 这个运行时里跑,又不在浏览器里跑,关浏览器啥事
|
69
VtoExtension 2020-05-15 15:02:34 +08:00
社区也回答过不要想着 deno 去取代 nodejs 。
0.x 和 1.0 API 改了不少,建议不要用于生产环境, 我用来写单文件脚本的, 如果你觉得 bash 不够用,python 又不会用,但自己熟 JS/TS 那这玩意适合了 |
70
myon 2020-05-15 15:10:29 +08:00
看了下文档,已经有类似 go mod 的`Import maps`了,估计最后包管理整得跟 go 差不多
npm 生态现在也有 cdn 可以转换 目前比较缺的是编辑器支持 |
71
chenluo0429 2020-05-15 15:39:17 +08:00
@lancelock ts 没有运行时,编译成 js 就可以白嫖 js 的运行时。否则要么自己实现一套 ts 的运行时,要么实现一个 ts 到二进制的编译器
|
72
resist 2020-05-15 15:48:54 +08:00
已经放弃了 JS
|
73
miao666 2020-05-15 15:55:19 +08:00 via Android
准备今年学习下 javascript,变化太大了有点看不懂了
|
74
threeEggs123 2020-05-15 16:12:01 +08:00 via Android 1
来不?来了,来了吗?快来了。来了,来了。还来吗,来不了。
|
75
lancelock 2020-05-15 16:26:08 +08:00
@chenluo0429 所以他写了 deno 为啥不彻底点,写个 ts 的执行引擎替换掉 v8,不然又有多大意义,来来回回在 js 这首破船上缝缝补补
|
76
libook 2020-05-15 16:48:31 +08:00
我一直都感觉说“Deno 将来要取代 Node”听起来就像是“Elasticsearch 将来要取代 MongoDB”或者“Go 将来要取代 C++(事实上 Go 初期确实是这么宣传的)”,本身在设计和定位上都是有区别的东西,硬生生捆绑在一起,引起一轮又一轮争论,但这种争论对于讨论的问题本身是没有什么意义的,反而对新技术的推广有很好的的效果……
我个人比较信服 The Hype Cycle,Deno 目前应该是结束第一阶段开始第二阶段的快速增长,但我选择等第四阶段稳步上升期再看看。 感兴趣的可以深入了解一下技术细节,了解得越深,就能在越客观的角度上看待一项技术。 |
77
DOLLOR 2020-05-15 17:05:42 +08:00 1
@libook
国内垃圾营销号、自媒体的误导,天天“XX 要火”“XX 要凉”“XX 取代 OO”的 UC 式宣传, 然后一群人技术能力不咋的编段子能力倒是挺强的人跟风抖机灵,没几个人关注技术。🤷♂️ |
78
Cryse 2020-05-15 17:20:14 +08:00
坐等大佬们先踩坑...
|
79
stillyu 2020-05-15 17:50:33 +08:00
1. deno 原生支持 typescript,所以不太需要 is-number 这样的包,不会造成数量庞大的依赖包的现象
2. 都用 deno 了,大多数都会用 typescript 开发的 3. 前端的工具链太多,转换过来难度比较大,但后端造轮子是很快的,特别是像 typeorm 这种本来就是用 ts 写的库 |
80
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 对着干的意思。 |
81
daimen 2020-05-15 18:17:19 +08:00
来不了,什么快速低成本切换方式出来了再说
|
82
lookas2001 2020-05-15 18:24:44 +08:00
设计很喜欢,现在在等生态移过去。
自 es6 标准化了 module 后,node 好像因为设计问题一直没跟上标准,出了个 deno 直接跟过去 say goodbye 也挺好的。 话说 web 这是要接替 java 完成全平台统一的大业啊。 |
83
libook 2020-05-15 18:38:33 +08:00
@cmdOptionKana 我只是在吐槽当前舆论风气。
只因为当年 Google 说公司内部需要在一些用途用 Go 来代替 C++开发,然后各大媒体就争相宣传 Go 要取代 C++的气氛,以至于前几年有大量的帖子说如何从 C++迁移到 Go,给人一种错觉,Quora 、Reddit 、Medium 上也有很多人表示疑惑究竟要不要从 C++切换到 Go,Google 内部的 C++开发者也一直在吐槽用 Go 取代 C++是无稽之谈。 Go 官方确实没有说要替代 C++,就像 Deno 官方也没说要替代 Node,人家 ry 只是在 PPT 里讲了一些过去的经验并引出 Deno 的想法,就被媒体歪曲成“ry 怒批 Node 的几宗罪,扬言开发 Deno 取代之”。 一个当年典型的宣传 Go 的文章 https://medium.com/@edvindizdarevic/golang-the-next-language-to-learn-for-developers-2c7c32b8a095 可以看到,C 语言之父背书(对应 Node 之父背书),里面还拿 Go 和 C/C++作比较(对应拿 Node 作比较),提到了 C/C++的一些缺点(对应 Node 的设计失败),是不是像极了如今的情形。 Rust 和 Go 的纷争是后来的事情,但是呢,在深入了解之后就能发现,这两个语言的发展方向区别还挺大的,Go 现在是服务开发最热,Rust 现在是系统开发和中间件开发的趋势,所以说讨论哪个好哪个不好真没啥意思。 |
84
dioxide 2020-05-15 20:20:53 +08:00
设计上看有击中痛点, 表示看好.
另: 不折腾就不是前端圈了 |
85
hantsy 2020-05-15 20:58:00 +08:00
太多了,写不动了,还是与 Node 合并吧。
|
86
markocen 2020-05-15 22:14:17 +08:00
昨天看了看 Deno, 感觉很香. 和 Node 比起来更像一门完整的编程语言. 目前看运行时的稳定性和安全性也比 Node 高不少
|
87
murmur 2020-05-15 22:29:43 +08:00
还有人梦想接替 java,前端还在造轮子的时候,java 已经构建了一个帝国,java 每个方面不是最优,但是可以拼凑起一个庞大的设施,而且不需要什么高超的技术就可以让他工作的还可以
|
88
shiwoya 2020-05-15 22:49:38 +08:00
node 还没搞懂 ,又来个 deno
后面是 done ? |
90
JayLin1011 OP @lancelock 那你得問自己了,你是覺得只兼容 JS 好,還是覺得同時兼容 JS 和 TS 好,畢竟你會 TS,不代表別人也會 TS,作者肯定不會放棄 JS 這個群體的,畢竟先 JS the First, then TS 。
|
91
JayLin1011 OP @VtoExtension 現在還沒考慮生產環境,只是一個新生兒。與其他腳本語言無關,也不用特別跟 node 比較,一個是 10 年前,一個是 10 年後,node 出生的時候都還沒有 Promise 。
|
92
JayLin1011 OP @libook 新的東西出來肯定會和主流碰撞比較才能在某種程度上得到宣傳和推廣,我們只需要進行必要的了解和學習,至於用不用該技術,各有所愛。
|
93
JayLin1011 OP @lookas2001 不存在的,java 天下第一,php 是最好的編程語言。node 出生的早,一直在接近標準,已經很香了。
|
94
martinsu 2020-05-16 18:17:07 +08:00
欣赏这种偏执
|