Deno 雙周刊 #1 - Deno 獲 2020 JS 年度突破開源獎(jiǎng)

序言

本文原文是筆者寫的英文版纵散,目前維護(hù)在 GIthub(@hylerrix/deno-feedly) 上,以下是親自翻譯斜筐。

Deno v1.0 在 2020 年五月 13 日正式登場(chǎng)之時(shí)便引起了我的關(guān)注。更貼切 Web 本身的理念蛀缝、TypeScript 開箱即用顷链、各種必備小工具集成在 Deno 本身中、基于 Rust 和 V8屈梁、且開啟了一個(gè)全新的挑戰(zhàn)方向...... 所有我想要深入探索的 Web 潮流技術(shù)都包含在了其中嗤练。

于是我開啟了我的 Deno 之旅。寫作看似是我更擅長(zhǎng)的事情:從去年的 v1 發(fā)布開始在讶,我開始在中文社區(qū)寫了幾篇基礎(chǔ)入門級(jí)的 Deno 文章并翻譯了幾篇同樣是入門級(jí)的 Deno 文章(都有著一定的翻譯授權(quán))煞抬。@hylerrix/deno-tutorial@hylerrix/awesome-deno-cn 沉淀了我早期對(duì) Deno 的一切理解。同時(shí)真朗,整個(gè) 2020 年里,我在 @ningowood/open-source-magazine 倉(cāng)庫(kù)中寫了近 12 期“開源愛好者月刊”僧诚,通過收集好文和咨詢等來(lái)沉淀我對(duì)開源的深入理解遮婶。

2021 伊始,我準(zhǔn)備挑戰(zhàn)更多的東西湖笨,思路也回到了 Deno旗扑。或許像收集好文和咨詢的開源愛好者月刊一樣來(lái)開啟新的一年中對(duì) Deno 的深入學(xué)習(xí)也是個(gè)不錯(cuò)的想法慈省。于是今天臀防,我在 Github 上開源了 @hylerrix/deno-feedly 倉(cāng)庫(kù)。Deno 雙周刊用來(lái)每?jī)芍苄缘氖占头窒?Deno 相關(guān)的咨詢边败、文章甚至更多袱衷。

與眾不同的在于维哈,從現(xiàn)在開始灌砖,我將用優(yōu)先用英文來(lái)編寫技術(shù)博客(并花費(fèi)少量時(shí)間來(lái)翻譯回中文)纹磺。對(duì)我來(lái)說谆扎,這是一個(gè)全新的體驗(yàn)碾盐,因?yàn)槲抑皬膩?lái)沒有用英文寫過文章甚至從來(lái)沒敢這么去想椭迎。

所以話說回來(lái)摊灭,歡迎來(lái)到 Deno 雙周刊系列祭示。如果有任何不適宜的地方,比如收集咨詢脱吱、寫作甚至分享宣傳的過程智政,歡迎告訴我,我也會(huì)盡量處理好箱蝠。雙周刊倉(cāng)庫(kù)中也會(huì)介紹更多的信息续捂,請(qǐng)戳:https://github.com/hylerrix/deno-feedly/

那么開始吧抡锈。(對(duì)了疾忍,刊尾會(huì)有更多關(guān)于社群的信息可以查收。)

快訊

Deno 1.6 正式發(fā)布

image
image

Deno 最新的大版本 v1.6.0 在 2020 年 12 月 8 號(hào)正式發(fā)布床三,其中引入了幾個(gè)重要功能并修復(fù)了諸多已知 Bug:新的子命令 deno compiledeno lsp一罩,一個(gè)實(shí)驗(yàn)性的,支持 Mac M1 芯片的 Deno撇簿。

正如 deno fmtdeno lint聂渊,deno compiledeno lsp 也成為 Deno CLI 的諸多重要工具之一。

  • deno compile 做到了 Node 中 nexe四瘫、pkg 一樣類似的功能:從你的 JavaScript/TypeScript 源碼中直接編譯出一個(gè)獨(dú)立汉嗽、自包含的二進(jìn)制文件。目前這個(gè)工具還有一些已知問題找蜜,但也有一個(gè)良好的未來(lái)計(jì)劃來(lái)指導(dǎo)方向饼暑。
  • deno lsp 命令實(shí)現(xiàn)了語(yǔ)言服務(wù)協(xié)議(Language Server Protocol)。LSP 允許編輯器和 Deno 進(jìn)行數(shù)據(jù)溝通洗做,以讓編輯器獲得更多的高級(jí)功能弓叛,比如代碼自動(dòng)補(bǔ)全、代碼格式化甚至懸浮窗文檔诚纸。deno lsp 命令目前還沒有開發(fā)完成撰筷,但已經(jīng)實(shí)現(xiàn)了 LSP 中諸多重要的功能。如果你想現(xiàn)在就在 VSCode 中體驗(yàn)這個(gè)命令畦徘,需要在 VSCode 中安裝 Deno (Canary) 插件毕籽。

除此之外,v1.6.0 完成了向更嚴(yán)格類型檢查的遷移井辆、兼容了 TypeScript 最新的穩(wěn)定版 v4.1关筒、提供了一個(gè) Deno 開發(fā)版(canary update channel)升級(jí)選項(xiàng) deno upgrade --canarystd/bytes 模塊進(jìn)行了大修補(bǔ)(這是讓 Deno 標(biāo)準(zhǔn)庫(kù)邁向穩(wěn)定階段的第一步)杯缺。

Deno 獲得 JS 2020 開源獎(jiǎng)之年度突破獎(jiǎng)

image
image

從 2018 年開始平委,JavaScript 開源大獎(jiǎng)(the JavaScript Open Source Awards)每年都會(huì)在四個(gè)類別下選出最有影響力的開源項(xiàng)目。DenoSvelte 獲得了 2020 年的年度突破獎(jiǎng)夺谁。從 Deno 的官方介紹來(lái)看廉赔,Deno 是一個(gè)簡(jiǎn)單肉微、安全的現(xiàn)代 JavaScript 和 TypeScript 運(yùn)行時(shí)。Deno 基于 V8 和 Rust 開發(fā)蜡塌。經(jīng)過兩年的開發(fā)碉纳,Deno 最終在 2020 年 5 月發(fā)布了重要的 v1.0 版本,并且開始做好準(zhǔn)備來(lái)讓生產(chǎn)環(huán)境使用馏艾。Deno 支持 WebAssembly劳曹,使用可編譯到 WebAssembly 的語(yǔ)言(Rust、Go琅摩、C++等)開發(fā)的原生庫(kù)铁孵,可在 Deno 應(yīng)用程序中運(yùn)行。

2020 年度其他的三個(gè)類型獎(jiǎng)項(xiàng)分別頒給了 Mock Service Worker(最激動(dòng)人心技術(shù)應(yīng)用獎(jiǎng))房资、Pose Animater(年度最有趣項(xiàng)目獎(jiǎng))蜕劝、Perfume.js(對(duì)社區(qū)最具影響力貢獻(xiàn)獎(jiǎng))。此外轰异,還有個(gè)生產(chǎn)力促進(jìn)獎(jiǎng)?lì)C給了 Snowpack岖沛。

以及更多

  • Deno LSP 現(xiàn)在在 Neovim 中正式可用。
  • Bundler@v0.5.1 發(fā)布:Bundler 的工作方式類似于 deno bundle搭独,但將 Web 謹(jǐn)記于心婴削。
  • terminal_markdown 開源:使你能夠?qū)?markdown 文本呈現(xiàn)為字符串,該字符串打印在終端上提供了格式化輸出牙肝,而不只是純文本唉俗。
  • pinyin@0.0.5 發(fā)布:轉(zhuǎn)換漢字到拼音。用于語(yǔ)音符號(hào)配椭、排序和搜索虫溜。
  • littlezip@0.4.0 發(fā)布:內(nèi)存友好的 zip 壓縮、解壓縮和 deno 框架的單個(gè)文件提取器颂郎。
  • deno_tag@v1.0.2 發(fā)布:一個(gè)簡(jiǎn)單的腳本替換 html 文件中出現(xiàn)的 <deno> 標(biāo)簽(雖然可以用 bash 來(lái)完成吼渡,但是為什么不使用 deno 來(lái)代替呢容为?)乓序。
  • dragon@v1.0.6 發(fā)布:強(qiáng)大的 HTTP 路由器和 URL 匹配器,可以使用 Dragon 構(gòu)建 Deno Web 服務(wù)器坎背。
  • drawille@v0.1.0 發(fā)布: 終端上的 HTML5 Canvas替劈,Deno 編寫。
  • Emacs-ng issue#33:在 Emacs 中通過 Deno/Tokio 來(lái)允許 JavaScript得滤。
  • lume 是 Deno 下的一個(gè)靜態(tài)網(wǎng)站生成器陨献,類似于 Jekyll 或 Eleventy。
  • AuthCompanion 是基于 token(令牌)的身份驗(yàn)證服務(wù)器(Deno 版)懂更,可以幫助開放人員更快地搭建 Web 應(yīng)用程序眨业。

好文

Deno 1.0

image
image

動(dòng)態(tài)語(yǔ)言是很有用的工具急膀。用戶可以使用腳本快速簡(jiǎn)潔地將復(fù)雜的系統(tǒng)連接在一起并表達(dá)自己的想法,而不必顧慮諸如內(nèi)存管理或系統(tǒng)構(gòu)建之類的細(xì)節(jié)龄捡。近年來(lái)卓嫂,像 Rust 和 Go 這樣的編程語(yǔ)言讓程序員能更輕松地生成復(fù)雜的原生代碼;這些項(xiàng)目也是計(jì)算機(jī)基礎(chǔ)架構(gòu)發(fā)展歷程中極為重要的里程碑聘殖。但是晨雳,我們認(rèn)為開發(fā)工作中有一個(gè)可以應(yīng)對(duì)多種問題領(lǐng)域的強(qiáng)大腳本環(huán)境還是非常重要的。

2020 年 5 月 13 日奸腺,出于對(duì) JavaScript 是動(dòng)態(tài)語(yǔ)言工具優(yōu)先的選擇的信念餐禁,以及讓 JavaScript 工具生態(tài)效率變得更高、使其與 Web 本身的理念更接近突照,Deno V1.0 正式發(fā)布帮非。實(shí)際上,Deno 從 2018 年在 JS Conf EU 的會(huì)議中宣布以來(lái)绷旗,Deno 已經(jīng)被許多熱心的貢獻(xiàn)者們開發(fā)了近兩年喜鼓。

本文 Deno Land 官方團(tuán)隊(duì)介紹了這首個(gè)兩年內(nèi),Deno 的特性和進(jìn)展衔肢。

上手 Deno 前你需要了解的一切

image
image

對(duì)于 JavaScript 開發(fā)人員而言庄岖,Deno 很可能會(huì)是下一個(gè)重大方向。然而這并不意味著 Node.js 會(huì)被掃地出門角骤。對(duì)那些說 Node.js 已死或 Deno 會(huì)完全替代 Node 的話語(yǔ)要謹(jǐn)慎對(duì)待隅忿。

本文基于 Deno v1.0.5 之上,發(fā)布于 2020 年 09 月 02 日邦尊,介紹了有關(guān) Deno 運(yùn)行時(shí)的一切(Deno 的安裝背桐、基礎(chǔ)知識(shí)、功能蝉揍、標(biāo)準(zhǔn)庫(kù)等)链峭。

介紹一下 <deno> 標(biāo)簽

image
image

Deno 正逐漸受到更多的關(guān)注∮终矗基于 Rust 語(yǔ)言和 V8 引擎的 TypeScript 運(yùn)行時(shí)弊仪,常常會(huì)被誤認(rèn)為“新的 Node.js”。但經(jīng)過嘗試后杖刷,我覺得 Deno 不僅如此励饵。

有沒有可能在 HTML 文件中編寫 Deno 代碼,就像 PHP 一樣滑燃?在最近于 2021 年 1 月 6 日發(fā)布的這篇文章中役听,展示了在 HTML 中使用 <deno> 標(biāo)簽的想法,就像 <?php> 一樣。

資源

視頻:關(guān)于 Node.js典予,我所后悔的 10 件事

正如下方評(píng)論中所說甜滨,一個(gè)開發(fā)人員能公開談?wù)撍鶚?gòu)建軟件的種種缺陷是值得尊敬的事。Node.js 的創(chuàng)建者 Ryan Dahl 在這場(chǎng)會(huì)議上首次介紹了 Deno瘤袖。他對(duì) Node.js 的遺憾包括 Promise艳吠、安全性、構(gòu)建系統(tǒng)(GYP)孽椰、package.json昭娩、node_modules、require("module") 沒有擴(kuò)展名以及 index.js 的命名等方面黍匾。

視頻:100 秒內(nèi)讀懂 Deno

如何在很短的時(shí)間內(nèi)讀懂 Deno 的基本概念栏渺?可以試試這個(gè)。

視頻:7 分鐘了解 Deno 基礎(chǔ)概念

在七分鐘的視頻內(nèi)锐涯,手把手帶你安裝 Deno磕诊,編寫 Deno 代碼。

尾聲

到目前為止纹腌,使用英語(yǔ)寫作的感覺真的挺好霎终。希望你不會(huì)錯(cuò)過上方的精彩資訊,也希望我能在開啟 Deno Feedly 系列后有更多的編碼升薯。

不同的社群有不同的用途莱褒,如果你想交流更多有關(guān) Deno 甚至開源本身的知識(shí),我建立了幾個(gè)聊天室涎劈,一會(huì)見:

  • Github: https://github.com/hylerrix/deno-tutorial/discussions. 沒錯(cuò)广凸,我接下來(lái)將會(huì)讓這個(gè)倉(cāng)庫(kù)更加的國(guó)際化,可以集中在這里暢聊任何有關(guān) Deno 的內(nèi)容蛛枚。
  • Discord: https://discord.com/invite/e5uuDMjpFC. 初入 Discord谅海,有趣的是,其支持編寫各種資訊機(jī)器人蹦浦。前面的鏈接是一個(gè)僅限前一百個(gè)人加入的永久邀請(qǐng)鏈接(長(zhǎng)遠(yuǎn)來(lái)看扭吁,估計(jì)不會(huì)超過這個(gè)數(shù)量)。
  • Wechat: 公眾號(hào) (@ningowood) )里尋找盲镶。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末侥袜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子徒河,更是在濱河造成了極大的恐慌系馆,老刑警劉巖送漠,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顽照,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)代兵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門尼酿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人植影,你說我怎么就攤上這事裳擎。” “怎么了思币?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵鹿响,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我谷饿,道長(zhǎng)惶我,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任博投,我火速辦了婚禮绸贡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毅哗。我一直安慰自己听怕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布虑绵。 她就那樣靜靜地躺著尿瞭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪翅睛。 梳的紋絲不亂的頭發(fā)上筷厘,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音宏所,去河邊找鬼酥艳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛爬骤,可吹牛的內(nèi)容都是我干的充石。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼霞玄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼骤铃!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起坷剧,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤惰爬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后惫企,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撕瞧,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陵叽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丛版。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巩掺。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖页畦,靈堂內(nèi)的尸體忽然破棺而出胖替,到底是詐尸還是另有隱情,我是刑警寧澤豫缨,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布独令,位于F島的核電站,受9級(jí)特大地震影響好芭,放射性物質(zhì)發(fā)生泄漏记焊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一栓撞、第九天 我趴在偏房一處隱蔽的房頂上張望遍膜。 院中可真熱鬧,春花似錦瓤湘、人聲如沸瓢颅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)挽懦。三九已至,卻和暖如春木人,著一層夾襖步出監(jiān)牢的瞬間信柿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工醒第, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渔嚷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓稠曼,卻偏偏與公主長(zhǎng)得像形病,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子霞幅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容