成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Deno 能吞掉 Node.js 嗎?

開發 開發工具
最近,Node.js的原作者Ryan Dahl發布了Deno1.0 , 有網友創建了上述漫畫,似乎Deno要吞噬整個Node.js社區了。

最近,Node.js的原作者Ryan Dahl發布了Deno1.0 , 有網友創建了上述漫畫,似乎Deno要吞噬整個Node.js社區了。

Deno是什么? 簡單來說,它一個支持JavaScript和TypeScript的安全平臺,有點像Node.js。

有了Node.js,可以讓JavaScript運行在服務器端,為什么還要搞一個Deno?

其實就兩個字:不爽!

Deno的作者,同時也是Node.js的作者Ryan Dahl想要一個有趣的、生產力強大的腳本語言平臺,但是現在的技術平臺滿足不了他。

他看Python不爽,Ruby不爽, 甚至自己寫的Node.js都看著不爽 !他還專門講過“Node.js設計的十大失誤”, 總是讓我想起努爾哈赤起兵s時寫的《七大恨》,不同的是努爾哈赤反的是明朝,而Ryan Dahl反的是自己。

他覺得Node.js有這么幾個大的槽點:

1. Node module設計得很爛,還是集中式的

2. 需要支持很多遺留的API

3. 安全問題

既然如此,那就另起爐灶,再搞一個吧,把這些缺陷給修正了。

Deno 有什么重要特點呢?

1. 安全控制

你寫的或者從別的地方導入的js/ts代碼,默認不能直接訪問硬盤/網絡等資源了,需要在運行的時候給腳本授權。

比如下面整個命令就是授權app.ts可以訪問環境變量,可以訪問網絡,可以讀取/temp目錄。

 

熟悉Java的同學立刻就會想到Java 的沙箱(Sand Box),程序是運行在沙箱中被控制的, 為什么要這么做呢?一個重要的原因是有很多第三方的代碼庫是從網絡下載的,這些代碼可能存在惡意破壞本地環境,偷取本地敏感信息的問題, 可見Deno把安全確實放到了比較重要的位置。

有趣的是Java 默認是開啟訪問權限,想限制的話需要提供策略文件, 而Deno默認是關閉訪問權限, 更狠!

但我有一個感覺,這個功能并不是那么的重要和急迫,大家想一下,你定制過Java的安全策略嗎?大部分時間都是默認配置的吧?現在有了Docker這樣的容器來實現隔離,在應用層面再來授權,意義有多大呢?

2. 終于有標準庫了!

用慣Java同學可能沒啥感覺,因為一直在用JDK中的各種內置的class。

但是JavaScript一直沒有標準庫,很多功能靠第三方代碼,會給人造成選擇困難癥。

現在Deno終于提供了一個標準庫,涵蓋了datetime, encoding,hash, http,log,testing等等,這將會極大地方便程序員。

不過,我瀏覽了一下標準庫代碼:https://deno.land/std, 都是用TypeScript編寫的。

3. 支持開箱即用的TypeScript

TypeScript是JavaScript的超集,支持靜態類型,現在已經很流行了。

Deno對TypeScript支持得非常好, 你可以用TypeScript來寫程序,然后直接Deno run xxx.ts,Deno在內部會編譯成JavaScript運行。

靜態類型還是香啊!可以想象,用了TypeScript的助陣。Deno可以支持大型的、有著復雜業務邏輯的應用程序開發,以后再也無人可以嘲笑“動態一時爽,重構火葬場”了。

對于Java程序員來說, 建議關注一下TypeScript。

4. 干掉了集中化的代碼倉庫

Deno的包管理方式有了天翻地覆的變化, 拋棄了集中式的代碼倉庫, 代碼從Web端直接導入:

 

這是直接從Web上導入ECMAScript模塊, 看起來倒是挺清爽的。當然導入的模塊會緩存到本地,下次可以直接訪問。

可是分布式的包管理真的有那么好嗎?想想在代碼中的那些從各個網站import語句,我是覺得有點兒不爽,Python有pip, Ruby有gem , Java 有maven,它們的背后都是集中式的倉庫,用起來挺香啊。

現在Deno提供了一個非常初級的搜索第三方的庫的頁面:https://deno.land/x , 我認為以后必然會出現第三方庫的托管網站,大家還是從同一個地方去搜索,下載軟件包。

5. 內置了很多工具

JavaScript生態亂七八糟的工具太多,最好是能大一統。

Deno順應了這個趨勢, 提供了諸如打包、格式清理、測試、安裝、文檔生成、linting、腳本編譯等一攬子解決方案,內置可用,不用到處安裝下載, 這一點兒必須點贊。

小結

不得不佩服Ryan Dahl, 打造一個Node.js已經足夠“吹噓”一輩子了,可是他還能革自己的命,推出Deno這么一個新平臺,為興趣工作,不斷創新,讓人贊嘆。

Deno非常激進,直接采用了ECMAScript模塊,拋棄了Node Module,這也讓它和現有的JavaScript生態系統不兼容。

說Deno替代Node.js還為時過早,畢竟這才是一個剛剛1.0的版本,和一個發展了10多年的平臺難以直接相提并論。Deno還沒有經受生產環境的考驗,對于一些特殊的案例表現如何我們還不知道。

也許過一段時間,會有“先行者”公司分享它們的使用經驗,解決Deno的坑,那個時候Deno才會變成一個真正有用的平臺,讓我們拭目以待吧。

【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】

 

戳這里,看該作者更多好文

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2022-03-04 07:37:16

DenoNode.js項目

2020-10-29 18:36:02

DenoNode.jsJavascript

2022-08-24 08:00:00

Node.isJavaScriptDeno

2021-03-31 10:18:07

Node.jsDeno公司開發

2018-06-06 09:54:00

javascriptnode.jstypescript

2022-05-11 09:23:08

CloudflareNode.jsJavaScript

2023-09-26 15:22:02

2013-11-01 09:34:56

Node.js技術

2015-03-10 10:59:18

Node.js開發指南基礎介紹

2025-05-13 07:45:52

2023-09-27 16:52:13

2011-09-08 13:46:14

node.js

2011-11-01 10:30:36

Node.js

2011-09-02 14:47:48

Node

2011-09-09 14:23:13

Node.js

2011-11-10 08:55:00

Node.js

2012-10-24 14:56:30

IBMdw

2019-07-23 10:20:23

前端Node.js中間層

2022-11-28 20:01:19

Node.js?Deno

2021-12-25 22:29:57

Node.js 微任務處理事件循環
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕在线一区 | 久久精品 | 日本韩国电影免费观看 | 国产成人免费视频网站高清观看视频 | 日本黄色一级视频 | 久久大 | 亚洲精品v日韩精品 | 最新中文在线视频 | 黄视频免费观看 | 美女黄视频网站 | 在线播放中文字幕 | 国产一区二区影院 | 亚洲精品成人在线 | 国产 日韩 欧美 中文 在线播放 | 日韩在线视频一区二区三区 | 国产精品美女久久久久久久久久久 | 久久久精品久久 | 91毛片在线观看 | 91精品亚洲 | 日韩免费福利视频 | 一区二区日韩 | 九色网址 | 久久91| 久久97精品| 久久久久久久久久久久久九 | 久久精品亚洲国产奇米99 | 国产激情免费视频 | 国产亚洲网站 | 欧美女优在线观看 | 日韩有码一区 | 男女羞羞视频免费看 | 国产精品一区二区免费 | 久久精品在线播放 | 亚洲视频区 | 中文字幕国产第一页 | 一级片网址 | 国产精品免费一区二区三区四区 | 黄色在线免费观看 | 国产黄色在线 | a视频在线观看 | 久久亚洲一区 |