什麼是Deno?Deno可能是前端的下一件大事!- jeremymorgan

banq發表於2020-05-16

Deno是一個熱門的可以替換Node.js的新Javascript執行環境。每個人都在談論它,因為這可能是下一件大事。

Deno是JavaScript / TypeScript執行環境,具有安全的預設值和出色的開發人員經驗。它基於V8,Rust和Tokio構建。Deno旨在替代我們心愛的Node.js,由Ryan Dahl領導,他於2009年開始Node.js專案。該設計源於他對Node.js感到遺憾的十件事。

有幾個需要注意Deno的原因:

  1. 它是由啟動Node.js的人建立的
  2. 它直接解決了Node.js中的缺點

因此,這是一個良好的開端。但是,讓我們看一下它背後的一些技術:

  • V8是Google的高效能JavaScript(現在是WebAssembly)引擎。Node.js和Chrome現在使用它。它可以獨立執行,並且飛速發展。在最近幾年中,此引擎的開發非常成功。注意:V8將JavaScript編譯為本機程式碼,以實現超快的效能。
  • Rust是一種快速發展的系統程式語言。它沒有執行時或垃圾收集器。它的主要重點是效能和記憶體安全性。這是Rust的其他一些很棒的東西。
  • Tokio是Rust的非同步執行環境。這是一個事件驅動的平臺,用於構建快速,可靠且輕巧的網路應用程式。它也非常快並且可以很好地處理併發。

那麼您在這裡感覺到一種模式嗎?Deno由快速,輕巧和安全的技術組成。我們的起點很好。

那麼為什麼有新東西呢?

自2009年以來,JavaScript發生了一些變化。在這段時間內,開發,效能和功能發生了巨大變化,Node.js竭盡所能。從頭開始也許是一個更好的方法。

根據Dahl的說法,這是他在Node.js中發現的一些設計問題。

  • 模組系統及其分佈
  • 必須支援的舊版API
  • 安全問題

Deno旨在解決所有這些問題。

如果您使用Node.js已有一段時間,那麼您將瞭解NPM及其怪癖。我個人認為還不錯。當然可以改進。它使用中央儲存庫模型(npmjs.com),該模型有很多問題。

  • Deno模組可以在任何地方託管。另外,它們在本地快取。除非需要,否則不需要更新它們。
  • Deno中整合了安全性。除非明確啟用,否則它無權訪問檔案或網路資源。
  • TypeScript是內建的 -這完全是針對開發人員的。您可以充分利用TypeScript進行開發,並使用這些語言中所有花哨的顯式型別和其他優點。

Deno承諾效能和安全性。這是一個很大的好處,但是最大的希望在於開發者的經驗。它旨在使您的生活更輕鬆。

  • 使用Deno進行測試 -無需費力地尋找隨機工具或爭論什麼是最好的,核心中內建了一個測試執行器。
  • 格式化程式碼 -您可以使用“ deno fmt”格式化檔案。這是我喜歡Go的一件事。在自以為是的環境中工作有其缺點。對於開發人員來說,這也可以節省大量時間。
  • 除錯 -Deno具有內建的除錯功能,因此,您不必再上網搜尋最佳的偵錯程式。
  • 編譯和捆綁 -有人告訴我這還不完整,但是它有一個相當不錯的捆綁器,您可以期望將來會有更多的改進。

這些都是針對開發人員的改進。儘管人們可能會對速度和安全性大加讚賞,但很高興知道對於開發人員使用Deno建立應用程式不會造成很大的麻煩。

哦,它有一個可執行檔案要執行。這是有希望的。那些已經過依賴關係和破壞性變更的人都知道執行可靠的可執行檔案的感覺。您可以在需要時更新它,而不必擔心當時依賴關係的狀況。

總結

Deno將動搖一切。它會帶來:

  • 效能
  • 安全
  • 減輕開發人員的痛苦

這裡有很多潛力。迪諾還承諾:

  • 遵守網路標準
  • 防止使用過時的API
  • 包含TypeScript
  • 內建工具

對於Deno而言,前途一片光明,我迫不及待地想用它來構建事物。看起來很有希望。

 

相關文章