一文讀懂 Deno

在 Deno 之前,已經存在了 Node.js,但是由於 Node.js 中有很多難以解決的問題,所以 Ryan Dahl 決定重新開發一個全新的 runtime,並且解決掉之前存在的所有問題。所以我們可以把 Deno 看作是 Node.js 的升級版。
Deno 可以用更快、更安全的方式去做和 Node.js 相同的事情。
Node.js 非常成功,用戶呈指數級增長,但是這些都將會成爲 Dahl 改進 Node.js 的障礙。從一個乾淨的基礎開始,Dahl 可以使用很多創新技術和最佳架構實踐。 Deno 組成

Deno 構建在 JavaScript 的 V8 引擎和 Rust 的 Tokio 之上。 V8 引擎

V8 是 Google 開源的高性能 JavaScript 和 WebAssembly 引擎,用 C++ 編寫。目前主要用於 Chrome 和 Node.js。
他在真正執行之前會編譯並執行 JavaScript 來優化機器代碼。雖然最初設計只是爲了執行瀏覽器腳本,但是最新的版本已經允許服務端腳本。 Rust

Deno 最初是用 Go 來編寫的,但是由於性能問題和缺乏垃圾回收,很快就用 Rust 重寫了。Rust 允許我們將數據存儲在棧或堆上,並不需要在編譯時再進行分配。這種方法確保了訪問內存的高效,消除了對持續運行的垃圾回收的需求。通過直接訪問硬件,Rust 成爲了底層開發的最佳理想語言,在很多領域取代了 C++。除了技術方面,Rust 社區也非常活躍,我們可以很容易找到大量資料來學習 Rust。 Tokio

Tokio 上 Rust 的異步 runtime。它對 Deno 的意義,就像 libuv 對於 Node.js 的意義。由於使用多線程來調度程序,它可以用最小的開銷提供卓越的性能。Tokio 還有一組內存安全的 API,幫助我們防止和內存相關的錯誤。這些功能都爲 Deno 提供了堅實可靠的基礎。 Deno 的基礎功能

Deno 是用 Typescript 和 Rust 來編寫的,這兩門編程語言都是廣泛使用的語言,可以提供許多優勢來創建快速和高性能的應用程序。
下面是 Deno 的一些功能列表:

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://juejin.cn/post/7126544389484052494