《Deno 鑽研之術》系列於 Deno v1 正式發售之日全新推出,每週不按期更新在 Github 中(https://github.com/hylerrix/deno-tutorial)。讓咱們一塊兒按部就班學 Deno,先易後難補 Node,面向將來開發屬於本身的 Deno Web App。歡迎訂閱,歡迎交流。前端
一個全新的技術會有怎樣的生態?在對 Deno 的好奇和梳理過程當中,基於已有的 Awesome Deno 英文列表全新出發,一個專一於中文技術圈的 Deno 資源列表呼之欲出。java
注:本文截止統計於 2020-05-22,更多內容隨時更新在 Github 上的 Awesome Deno CN (https://github.com/hylerrix/awesome-deno-cn)中。node
爲何是 Awesome?
Github 集市上廣受歡迎的倉庫有這麼幾大類:mysql
語言類:如 Go、Rust、TypeScript 等,提供高級語言曾經的支持;git
基礎設施類:如 Linux、Docker 以及雲設施等,用來運行、構建更多的頂層應用;程序員
框架/庫/運行時類:如 Deno、React、Tensorflow 等,搭建業務的基石;github
業務類:如 freeCodeCamp、近期的疫情網站等,將整個項目業務源碼開放給社區維護;web
插件類:給各大瀏覽器、編輯器等環境提供拓展功能;正則表達式
Demo 類:對某項技術進行專項訓練和分享;redis
......
此外,還有一類上面沒有提到的,即是文檔類。這包括開放的電子書、開放的博客以及開放的清單——名字帶有 Awesome 的清單項目,就成了一套約定俗稱的獨特風景線。Github 上搜索 Awesome 關鍵字,能夠看到圍繞各個知名技術點的倉庫中都有若干個得到數以萬計的 Star 收藏。這一點連谷歌搜索引擎都作不到。
開源,不只僅是知識內容的公開,更是協做一切的基石。
該怎樣寫好 Awesome 清單的 README.md?
因爲 Awesome 項目大多隻須要從倉庫中的 README.md 展現全部內容,因此寫出一個良好的 README.md 即是十分重要的。這包括:
友好的介紹文字:開門見山;
設計良好的目錄:能從目錄快速瞭解和索引這一切;
酷炫的 Logo:緊跟所圍繞的技術自己 Logo 走;
可選的更新日誌和路線圖:讓用戶知道將來的方向;
參與貢獻的方式與開源協議:鼓勵更多人蔘與貢獻;
一些獨特性:標新立異,難以忘記。
沒有技術含量的 Awesome 清單整理太無聊?
的確,單純的梳理也須要花費很多的時間,累加起來都能玩好幾局不錯的遊戲。對於自身的技術成長來講,也不會有直觀的改進。但最重要的好處是,維護一份 Awesome 清單,可讓本身親自參與創造,有更主動的機會去比別人更敏銳地觀察生態圈的發展歷程甚至發展方向。
該不應創建屬於本身的 Awesome 清單?
若是你的技術學習時間較爲充分,花一小部分時間來在社區維護一份 Awesome 清單是十分有趣的,也能夠了解不少生態故事,結識不少好友。切記須要考慮的是:社區中是否是已經有相關的 Awesome 資源,而且已經初步「佔領」市場了?畢竟沒有人會喜歡給一大堆相差無幾的清單點 Star。若是像本文這份清單同樣,社區中已經有一份英文清單,再本身維護一份專一中文版的清單一塊兒成長,也不錯。
Awesome 的將來是什麼?
文檔就夠了,咱們能夠翻閱到想要的一切。然而從程序員的角度來看這份清單,是否是能抽離出不少共同點?都是層級的標題下放置若干個連接、每一個連接多是文章、倉庫地址、網站網址、視頻地址等,最後再配上通用的介紹文字/貢獻指南和開源協議...我有一個想法,就差一個程序員了。
急需你的貢獻。
純我的的梳理侷限性很大,也很繁瑣,快在社區中選個感興趣的 Awesome 清單貢獻開源吧!好比,這個 Awesome Deno CN?
正式開始吧。
Deno 中文資源全圖譜 · v1.0.0
目錄
爲何有這個項目?
獨特之處
更新日誌
貢獻者
前言:從 Node.js 到 Deno.js
技術文檔
官方文檔
中文社區文檔
基礎設施
DenoLand 核心庫
Deno 周邊社區庫
第三方庫
在線沙箱
Demo
技術教程
演講稿(中文)
演講稿(英文)
單篇文章(中文)
單篇文章(英文)
翻譯文章(中文)
系列文章(中文)
系列文章(英文)
技術專欄(中文)
技術專欄(英文)
在線視頻(中文)
在線視頻(英文)
電子資源
技術社區
社區列表(全網)
討論熱帖(中文)
討論熱帖(英文)
Github 開源組織
誰在用 Deno?
其它訂閱
新聞媒體(英文)
社交媒體(英文)
開源協議
如下資源 🌟 表明品質推薦,⚠️ 表明注意事項。因爲資源分類的多樣性考慮,部分章節內容可能會有所重複。
獨特之處
✅長期提供更新,收集愈來愈多高質量的 Deno 資源,願咱們與 Deno 一塊兒成長。
✅隨着 Deno 主版本進行版本歸檔更新。
✅配套獨家《Deno 鑽研之術》電子書並隨着本項目一塊兒成長。
✅及時跟進 @denolib/awesome-deno 倉庫。
✅及時跟進 @olivewind/awesome-deno 倉庫。
🔲開發更好看的 UI 頁面來展現這個資源列表。
更新日誌
✅2020-04-14 初始化本項目,填充獨特的中文版內容。
✅2020-04-14 跟進最新的(180+ Star) @olivewind/awesome-deno 倉庫內容。
✅2020-05-13 新增《Deno 鑽研之術》項目,將本項目做爲前者的配套項目。
✅2020-05-14 同步最新的 @denolib/awesome-deno 倉庫內容。
✅2020-05-17 跟進中文化後大改版的(200+ Star) @olivewind/awesome-deno-cn 倉庫內容。
✅2020-05-22 全網搜索 Deno 中英文資源併入庫,發佈 v1.0 版本並收錄在《Deno 鑽研之術》第二篇中。
前言:從 Node.js 到 Deno.js
《Node.js 的設計缺陷》:官方 PDF 演講稿。
《Design Mistakes in Node》Node 之父 Ryan Dahl 演講 PPT 中文版 (2018 JS Conf Berlin):發佈於 2018-06-03。
技術文檔
官方文檔
包括中文社區的文檔。
deno.land:🌟,Deno 官網。
Deno API 類型手冊:
doc.deno.land:自動化 Deno 文檔生成器。
Deno Registry:Deno 第三方庫彙總。
中文社區文檔
@denodev/typedoc:🌟,Deno API 簡體中文版。
基礎設施
DenoLand 核心庫
更多的官方模塊能夠在 deno_std 上找到,目前版本 0.52.0。
deno/std/archive。
deno/std/async。
deno/std/bytes。
deno/std/datetime。
deno/std/encoding。
deno/std/examples。
deno/std/flags。
deno/std/fmt。
deno/std/fs。
deno/std/hash。
deno/std/http。
deno/std/io。
deno/std/log。
deno/std/mime。
deno/std/node。
deno/std/path。
deno/std/permissions。
deno/std/signal。
deno/std/testing。
deno/std/textproto。
deno/std/uuid。
deno/std/ws。
Deno 周邊社區庫
重點將第三方庫中,Github 組織帶有 Deno 關鍵字的庫專一整理這裏。
@denolib/ms:輕鬆地將各類時間格式轉換爲毫秒。
@denolib/qs:具備嵌套支持的 querystring 解析器。
@denolib/camelcase:將破折號/點號/下劃線/空格分隔的字符串轉換爲駝峯式;示例:foo-bar→fooBar。
@denolib/camelcase:將破折號/點號/下劃線/空格分隔的字符串轉換爲camelCase:foo-bar→fooBar。
@denolib/marked:Markdown -> HTML 轉換器。
@denolib/ms:輕鬆地將各類時間格式轉換爲毫秒。
@denopkg/denopkg:在 Deno 項目中使用 GitHub 上的代碼的更簡單方法。。
@denopkg/denopkg.com:在 Deno 項目中直接使用來自 GitHub 代碼的簡單方法。
@denoserverless/http-libs:HTTP 模塊和類型。
@denoserverless/jwt:auth0/jsonwebtoken 的端口。
@denoserverless/type-fest:基本 TypeScript 類型的集合(sindresorhus 端口/type-fest)
第三方庫
更多內容能夠看 Deno 官網上的第三方庫列表。能夠將你的存儲庫提交到 deno.land/x 中。
若是你有興趣幫忙按字母排列下方的列表的話,歡迎 PR!
@allain/expect:在 Deno 中編寫 Jest 的助手。
@alosaur/alosaur:具備許多裝飾器的 Deno Web框架。
@ameerthehacker/cli-spinner:在執行長任務時在終端中顯示微調框。
@ameerthehacker/deno-vscode:利用此擴展利用 VS Code 中內置的 typedef 和 intellisense。
@axetroy/dvm:沒有運行時相關性的 Deno 版本管理器。
@BentoumiTech/denox:相似於 package.json 腳本,但在 Deno 上具備權限支持。
@bokuweb/deno-pretty-assert:色彩鮮豔的 deno assert 庫。
@bokuweb/deno-pretty-assert:一個 Deno 下的 assertEqual 庫。
@bokuweb/wu-diff-js:一個差別庫,使用 wu(O(NP))算法計算兩個切片之間的差別。
@BoltDoggy/dpm:Deno 軟件包管理器,爲 Deno 安裝全局命令,好比 Denoget。—— DVM。
@BoltDoggy/dcc:Deno 清空緩存,在下次運行時從新加載 dep。
@buildondata/postgres:PostgreSQL 數據庫驅動程序。
@cacjs/cac:用於構建命令行應用程序的簡單但功能強大的框架。
@cardosomarcos/deno-dotenv:從.env加載deno項目的環境變量。
@dontlaugh/packer-provisioner-deno:一個 Packer 插件,可輕鬆使用 Deno 腳本構建虛擬機映像。
@eliassjogreen/denon:像 Nodemon 的 Deno 庫。
@ekaragodin/clone:一個方便克隆的簡單實用程序。
@eliassjogreen/deno_tokenizer:Deno 的簡單標記器。
@eliassjogreen/denon../watcher.ts:具備等待生成器的文件監視程序。
@eliassjogreen/webview:Webview 的 Deno 綁定,這是一個用於建立基於 Web 的桌面 GUI 的小型庫。
@garronej/evt:EventEmitter 的安全替代品。
@garronej/denoify:對於但願支持 Deno 但不想編寫和維護端口的 NPM 模塊做者。
@hashrock/deno-fnparse:一個很是簡單的 JavaScript 解析器、組合器。
@hashrock/deno-opn:一個能夠打開網站、(可執行)文件之類資源的跨平臺工具。
@hashrock/deno-fnparse/.../csv:一個簡單的 CSV 解析器。
@hashrock/deno-fnparse:一個很是簡單的 JavaScript 解析器組合器。
@hashrock/deno-opn:打開網站,文件,可執行文件之類的東西,跨平臺。
@hayd/deno-udd:更新面依賴:將導入語句更新爲最新發布的版本。
@halvardssm/deno-nessie:爲 PostgreSQL、MySQL 和 SQLite 建立,遷移和回滾遷移。
@hayd/deno-docker:數個 Docker 鏡像。
@hayd/deno-using:帶有 Deno 語句的 Python 樣式。
@hayd/deno-globrex:globrex 的端口爲 deno,globex 的端口爲正則表達式。
@jinjor/watch:文件觀察器(熱更新)。
@justjavac/vscode-deno:🌟,VS Code 擴展,使用 typescript-deno-plugin 提供 Deno 支持。
@justjavac/dvm:Deno 版本管理器:管理多個活動的 Deno 版本。
@justjavac/typescript-deno-plugin:Deno 語言服務插件,在編輯器中的 TypeScript 文件中提供智能感知。
@justjavac/vscode-deno:VS Code 擴展,使用 typescript-deno-plugin 對 Deno 提供支持。
@jinjor/elm-live-reload:一個用 Deno 編寫的 Elm Live Reloader。
@jcardama/deno-slugify:Deno 的字符串節流器。
@jinjor/deno-playground/.../expressive:一個相似於 Express 的 Deno Web 框架。
@jinjor/deno-playground/.../watch:一個文件監聽程序。
@jinjor/deno-playground/.../elm-live-reload:用 Deno 編寫的 Elm Live Reloader。
@jinjor/deno-task-runner:像 NPM 腳本同樣編寫任務。
@keroxp/deno-redis:一個由 Deno 實現的實驗性的 Redis 客戶端。
@keroxp/deno-ws:一個 Websocket 服務器的實驗性實現。
@kitsonk/oak:一個用於 Deno 網絡服務器的中間件框架。
@keroxp/servest:漸進式HTTP服務器/路由器。
@keroxp/deno-ws:Websocket 服務器的實驗性實現。
@keroxp/deno-redis:Redis Client for Deno 的實驗實現。
@lucascaro/denoversion:Deno 的 SemVer + Git 版本管理。
@lucascaro/deno-uuid:Deno 的 UUID 模塊。
@luvies/lazy:相似於 linq 的惰性求值迭代模塊。
@muhibbudins/deno-yaml:一個使用 Deno 的簡單 Yaml 解析器。
@MarkTiedemann/deno.mk:用於安裝和運行 Deno 的跨平臺 Makefile。
@maxmcd/deno-docker:一個 Docker 鏡像。
@Maxim-Mazurok/sax-ts:從 sax-js 移植的SAX風格的XML解析器。
@manyuanrong/sql-builder:SQL 查詢生成器。
@manyuanrong/dso:一個基於 MySQL 的簡單 ORM 庫。
@manyuanrong/deno-smtp:SMTP 的 SMTP 郵件發件人。
@manyuanrong/deno-mysql:MySQL 數據庫驅動程序。
@manyuanrong/deno_mongo:MongoDB 數據庫驅動程序。
@manyuanrong/deno-plugin-prepare:一個用於管理 Dedeno Native 插件依賴關係的庫。
@manyuanrong/deno-checksum:SHA1/MD5 算法。
@manyuanrong/deno-deamon:使Deno程序在後臺運行。
@manyuanrong/bytes_formater:格式化字節(Uint8Array,ArrayBufferView ...)輸出,在調試 IO 功能時頗有用。
@motss/deno_mod/.../normalize_diacritics:刪除字符串中的重音符號/變音符號。
@nekobato/deno-xml-parser:一個從 segmentio/xml-parser 移植的 Deno XML 解析器。
@npmjs.com/deno_ls_plugin:一個 TypeScript 插件,它將容許 Deno 以外的 TypeScript 以相似於在 Deno 內部進行解析的方式來解析模塊。
@nekobato/deno-xml-parser:從 segmentio/xml-parser 移植來的 Deno XML 解析器。
@NMathar/deno-express:Node Express已移植到Deno。
@OnikurYH/deno-prettystring:格式化,修剪和刪除字符串中字符之間的多餘空白。
@oakserver/oak:用於 Deno 網絡服務器的中間件框架。
@pietvanzoen/deno-dotenv:Dotenv 處理 deno。
@pikapkg/builders/.../pika deno plugin。
@partheseas/gardens:一個無處不在的 JavaScript 記錄實用程序。
@syumai/dejs:一個用於 Deno 的 ejs 模板引擎。
@syumai/dinatra:🌟,一個相似於 Sinatra 的輕量級 Deno Web 應用程序框架。
@syumai/dejs:edeno 的 ejs 模板引擎。
@sholladay/pogo:一個 Deno 服務端框架。
@syumai/denoget:denoget 安裝可執行的 deno 腳本。
@syumai/deno-libs/.../denoget:安裝可執行的 Deno 腳本。
@syumai/deno-libs/.../denoinit:爲 Deno 項目生成有用的文件。
@siokas/denomander:Deno 命令行界面的靈感來自 commander.js。
@timonson/djwt:根據 JWT 和 JWS 規範在 Deno 上建立 JSON Web 令牌(JWT)。
@timonson/gentleRpc:用於 Deno 和瀏覽器的 JSON-RPC 2.0 TypeScript 庫。
@zhmushan/abc:一個不錯的 Deno Web 框架。
@zekth/deno_case_style:不一樣大小寫樣式的字符串驗證器和格式化程序,例如 camelCase 等。
@zekth/deno_random_interval:幫助器生成隨機間隔。
@zekth/deno_tiny_templates:Deno 的模板渲染器。
@zhmushan/dev_server:讓 TypeScript 文件直接在 script 標籤中使用。
底層生態
Deno 自己依賴的技術的清單庫
@dzharii/awesome-typeScript。
@semlinker/awesome-typeScript。
@rust-unofficial/awesome-rust。
@sindresorhus/awesome-nodejs。
@avelino/awesome-go。
@jobbole/awesome-go-cn:中文版。
在線沙箱
deno-play.app:(⚠ 證書問題)。
deno.town:在線執行 Deno 代碼。
技術教程
演講稿(中文)
...逐步添加中,歡迎 Star & Fork & PR。
演講稿(英文)
Ryan Dahl - 我爲 Node.js 感到遺憾的 10 件事 | JSConf EU 2018
演講稿
Ryan Dahl - Deno, 新的服務器端運行時 | JSDC 2018#A01
演講稿
Ryan Dahl - Deno, 一種新的 JavaScript 方法 | JS Fest 2019 Spring
演講稿
Rafał Pocztarski — 從 Node.js 到 Deno -使用 V8 和 Rust 構建的 JavaScript / TypeScript 運行時[EN]
演講稿
Ryan Dahl: JavaScript 和 TypeScript 的安全運行時 | js.la April 2019
演講稿
Ryan Dahl: Deno, 一種新的 JavaScript 方法 | HolyJS 2019 Piter
演講稿
Rafał Pocztarski - 什麼是 Deno?2020年代用於現代 JavaScript 和 TypeScript 後端的新運行時 | Deno Warsaw
演講稿
Michał Sabiniarz - 如何爲 Deno 作貢獻 | Deno Warsaw
演講稿
Bartek Iwańczuk - Deno 內部是如何構建現代運行時 | Deno Warsaw
演講稿
Ryan Dahl & Kitson Kelly: Deno 是一種新的 JavaScript 方法 | TSConf 2019
單篇文章(中文)
專一於收集高質量的博客文章,更多內容能夠在谷歌/百度上搜索。目前 Deno 文章很少,儘量多的諾列不設內容質量限制。
據說要幹掉node.js?用Deno實現價值上億的AI核心算法試一下:發佈於 2020-05-14。
了不得的 Deno 入門教程,發佈於 2020-05-14。
Deno 運行時入門教程:Node.js 的替代品:🌟,發佈於 2020-01-26。
學得動的 Deno:發佈於 2018-10-19。
Deno 並非下一代 Node.js:🌟,發佈於 2018-06-04。
讓咱們一塊兒來學習別人學不動的 Deno:發佈於 2018-06-03。
快速瞭解 deno 目前的 API:發佈於 2018-06-03。
玩 Deno 遇到問題的解決方案:發佈於 2018-06-02。
我不看好 Deno:發佈於 2020-05-10。
單篇文章(英文)
First thoughts about Deno:發佈於 2020-05-20。
Is Deno the new Node?:發佈於 2020-05-20。
Deno vs. Node.js — Here are the most Important Differences:發佈於 2020-05-18。
From Node to Deno:發佈於 2020-05-17。
Why I Believe Deno is a Step in the Wrong Direction for JavaScript Runtime Environments:發佈於 2020-05-14。
The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples:發佈於 2020-05-12。
Learn Deno: Chat app:發佈於 2020-05-10。
Deno 1.0: What you need to know:發佈於 2020-05-06。
Forget NodeJS! Build native TypeScript applications with Deno 🦖:發佈於 2020-02-18。
What’s Deno, and how is it different from Node.js?:發佈於 2019-07-09。
What is Deno? A ‘better’ Node.js:發佈於 2020-02-28。
Ryan Dahl’s Node.js regrets lead to Deno:發佈於 2018-06-21。
翻譯文章(中文)
這裏專門抽來出來中文文章中,是翻譯自其它語言(如英語)的文章。
Deno 1.0 即將發佈,你須要知道的都在這裏了:原文發佈於 2020-05-06 日。
系列文章(中文)
目前包括可能會寫成電子書的資源。
Deno 進階開發筆記:不定時更新。
Deno 手冊。
系列文章(英文)
V8 Docs for Deno:面向 Deno 的 V8 文檔。
A Guide to Deno Core (Design & For Contributors):(⚠ 內容過時),發佈於 2019 年。
Deno 源碼貢獻指南(英文版):託管於 Gitbook 上。
技術專欄(中文)
Deno 開發者社區:知乎專欄,@justjavac 主導。
Deno 世界:知乎專欄,@嚶嚶 主導。
技術專欄(英文)
...逐步添加中,歡迎 Star & Fork & PR。
在線視頻(中文)
Bilibilii | 【中英雙語】Node 之父 - Deno,一個新的 JS 運行時。
Deno 1.0 新特性瞭解一下。
在線視頻(英文)
Deno in 100 Seconds。
電子資源
專一收集公開免費的 PDF、PNG 以及電子書等資源,放置在本項目的 resources 文件夾下。
《Node.js 的設計缺陷(英文版)》。
《Node.js 的設計缺陷(中文版)》。
技術社區
社區列表(全網)
Deno Discord:🌟,Discord 上的 Deno 官方聊天室,有中文社區。
deno.dev:🌟,開發中,@justjavac 主導。
deno.js.cn:🌟,Deno 中文社區,@justjavac 主導。
denocn.org:🌟,Deno 中文社區,@manyuanrong 主導。
yydeno:YY 大前端團隊 Deno 倉庫。
討論熱帖(中文)
Deno 會在短時間內取代 Node 嗎?:發佈於 2020-05-22。
@v2ex/Deno 1.0:發佈於 2020-05-13。
@v2ex/看了 Deno,感受 TS 前景不可估量啊:發佈於 2020-03-08。
討論熱帖(英文)
Reddit 社區 | Deno。
Github 開源組織
重點收集專一於使用 & 回饋 Deno 生態圈的 Github 組織。暫不考慮可能有內容會與「技術社區」欄目重疊的問題。
Deno Land:Deno 官方 Github 組織。
Deno Dev:Deno 第三方組織之一,@justjavac 主導。
Deno Lib:Deno 第三方組織。
誰在用 Deno?
重點收集已經部署在生產環境的應用,歡迎推薦你的案例,逐步完善中。
...逐步添加中,歡迎 Star & Fork & PR。
其它訂閱
新聞媒體(英文)
Deno 新聞推送
社交媒體(英文)
twitter@deno_land:Deno Land 官方推特。
訂閱 & 待續
本文編號 002,屬於《Deno 鑽研之術》的生態篇,將來計劃逐步展開添加的章節並填充更多的文章,如:
基礎篇:按部就班學 Deno 基礎知識;
標準庫篇:深刻標準庫的內部世界;
CLI 篇:探索 CLI 命令行的知識;
Web 篇:打造 Web 開發基石;
Node 篇:先易後難補 Node 知識,探索與 Deno 的異與同;
Rust 篇:探索 Deno 底層有關 Rust 的更多知識;
前端篇:探索 Deno Web 前端應用開發的方式;
後端篇:探索 Deno Web 後端應用開發的方式;
架構篇:深刻到 Deno 底層讀 V8,學架構;
生態篇:介紹 Deno 生態的相關內容;
翻譯篇:【單獨編號】翻譯優質的、受權的英文一手博文。
歡迎訂閱,一塊兒成長,敬請 Star, Watch & Issue 開源倉庫《Deno 鑽研之術》!。
https://github.com/hylerrix/deno-tutorial/
題外話:截止今天,短短的 9 天倉庫漲到人生第一個 108 Star,我還在繁忙的公司任務外更新的這麼慢,有點慌~。那就爭取每週 2+ 篇吧。🤡
P.S: 微信文章裏的外鏈能夠閱讀原文訪問。
P.S: 微信羣持續共建中!
本文分享自微信公衆號 - 凝果屋的韓亦樂(ningowood)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。