js 可以做什么东西_Deno需要做什么才能取代Node.js?
全文共1843字,預計學習時長5分鐘
Deno是一個Javascript/TypeScript的運行時,旨在取代Node.js的地位。它擁有廣泛功能,討論度非常高,在Github上有將近68000個星星:
既然這么受歡迎,那么有人要問了:為什么Deno正式版本1.0發行時沒能成功呢?本文就將深入探討這個問題。
什么是Deno
Deno是由Ryan Dahl(也是Node.js的原創者)創建的安全的JavaScript和TypeScript運行時,它的創建是為了彌補2009年首次設計Node.js時的疏忽。這種出發點很有意義,我敢肯定每個程序員都希望有機會重寫他們10年前的代碼。
因此,Deno在Node.js基礎上新增了很多特征,以下是其中一些:
· Deno默認設定就是安全的。必須通過選擇才能訪問文件系統、網絡或環境。
· Deno為TypeScript的延伸。
· 外部文件由URL明確引用,沒有package.json。
· 導入語句包括擴展名為.ts,.tsx,.js,.json的文件。
· 內置的依賴項檢查器和文件格式化工具。
憑借這些功能以及大量的開發者炒作,Deno于2020年5月正式發布了1.0版。接著……它撲街了。
為什么Deno沒有成功?
圖源:unsplash
Deno似乎擁有致勝的所有要素。它追隨者眾多,功能多樣扎實,創作者經驗老道等等,但結果卻未能達到人們的期望。這是為什么?
我認為最好從商業角度揭秘。很多人都忽略了一點:構建開源軟件與為用戶構建軟件實在沒有什么不同。基本的經濟原則——供求關系,仍然發揮著重要作用。當有人創建一個新的開源項目時,他們勢必要與已建立的平臺競爭。鑒于此,不僅要考慮新項目的優越性,還必須與現有項目作比較。
對Deno來說,現有的是Node.js,盡管Node.js可能有所不足,但它仍能出色完成任務。如若Deno推出了Node.js無法復制的強大特征,就可能會改變游戲規則。但Deno沒有。
從用戶的角度來看,Deno具有的只是“次要特征”。它具有更簡潔的代碼庫,使用了最新最佳的經驗,更加安全,但是這些東西對用戶來說僅是“特性”,并非產品自身。
你可以做一個像Gmail一樣的電子郵件客戶端,它應更加安全并提速50%,可是用戶仍然不會轉而使用它,即使重新創建書簽用時不多,人們也覺得不值得。Deno第一擊未中:它具有許多不錯的特征,但是沒有什么能讓用戶放棄Node.js的杰出之處。
Deno的另一個主要失敗之處是它不支持NPM軟件包。如果Deno能夠支持NPM軟件包,就很可能能夠改變形勢。Deno支持NPM軟件包將使它們不再像“單獨的電子郵件客戶端”,更像是對當前客戶端的更好包裝。支持NPM軟件包將大大降低進入壁壘。這將為用戶把項目和庫遷移至Deno提供一個良好的鋪墊。
這類似于TypeScript的“嚴格模式”。對于具有JavaScript強大代碼庫的用戶,直接轉用TypeScript會降低你幾周內梳理錯誤消息的效率。
由于TypeScript可以取消嚴格模式,于是它可以為用戶完全轉向使用TypeScript做鋪墊。這使它們的進入門檻大幅降低,又助力TypeScript爭得近年來JavaScript搶占的市場份額。
啟示是什么?
圖源:unsplash
筆者認為這是一個有趣的案例,例證了更多的商業方法。給我們帶來的啟示就是,如果你要發布新產品,請務必確保它具有強大的優點,能夠克服人們拒絕轉變現狀的阻力。
Deno具有魅力,但歸根到底,只是多了一系列的小“修復”,代價卻是失去了Node.js培育的整個NPM生態系統(也曾助它們壯大)。
那么,Deno接下來何去何從?首先他們得做出決定。要么努力增加Node.js庫的向后兼容性,要么提供更多好處來誘使用戶轉換平臺。筆者認為更應拓展向后兼容,此后將極大改善項目的未來。
無論如何,祝Deno團隊好運,愿好技術長存。
留言點贊關注
我們一起分享AI學習與發展的干貨
如轉載,請后臺留言,遵守轉載規范
總結
以上是生活随笔為你收集整理的js 可以做什么东西_Deno需要做什么才能取代Node.js?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下日志晒选打包,Linux 文
- 下一篇: 空气炸锅怎么样热剩饭