偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Deno需要做什么才能取代Node.js?

開發(fā) 前端
為什么Deno正式版本1.0發(fā)行時沒能成功呢?本文就將深入探討這個問題。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

[[349330]]

Deno是一個Javascript/TypeScript的運行時,旨在取代Node.js的地位。它擁有廣泛功能,討論度非常高,在Github上有將近68000個星星:

Deno需要做什么才能取代Node.js?

既然這么受歡迎,那么有人要問了:為什么Deno正式版本1.0發(fā)行時沒能成功呢?本文就將深入探討這個問題。

什么是Deno

Deno是由Ryan Dahl(也是Node.js的原創(chuàng)者)創(chuàng)建的安全的JavaScript和TypeScript運行時,它的創(chuàng)建是為了彌補2009年首次設計Node.js時的疏忽。這種出發(fā)點很有意義,我敢肯定每個程序員都希望有機會重寫他們10年前的代碼。

因此,Deno在Node.js基礎上新增了很多特征,以下是其中一些:

  • Deno默認設定就是安全的。必須通過選擇才能訪問文件系統、網絡或環(huán)境。
  • Deno為TypeScript的延伸。
  • 外部文件由URL明確引用,沒有package.json。
  • 導入語句包括擴展名為.ts,.tsx,.js,.json的文件。
  • 內置的依賴項檢查器和文件格式化工具。

憑借這些功能以及大量的開發(fā)者炒作,Deno于2020年5月正式發(fā)布了1.0版。接著……它撲街了。

為什么Deno沒有成功?

[[349331]]

圖源:unsplash

Deno似乎擁有致勝的所有要素。它追隨者眾多,功能多樣扎實,創(chuàng)作者經驗老道等等,但結果卻未能達到人們的期望。這是為什么?

我認為最好從商業(yè)角度揭秘。很多人都忽略了一點:構建開源軟件與為用戶構建軟件實在沒有什么不同?;镜慕洕瓌t——供求關系,仍然發(fā)揮著重要作用。當有人創(chuàng)建一個新的開源項目時,他們勢必要與已建立的平臺競爭。鑒于此,不僅要考慮新項目的優(yōu)越性,還必須與現有項目作比較。

對Deno來說,現有的是Node.js,盡管Node.js可能有所不足,但它仍能出色完成任務。如若Deno推出了Node.js無法復制的強大特征,就可能會改變游戲規(guī)則。但Deno沒有。

從用戶的角度來看,Deno具有的只是“次要特征”。它具有更簡潔的代碼庫,使用了最新最佳的經驗,更加安全,但是這些東西對用戶來說僅是“特性”,并非產品自身。

你可以做一個像Gmail一樣的電子郵件客戶端,它應更加安全并提速50%,可是用戶仍然不會轉而使用它,即使重新創(chuàng)建書簽用時不多,人們也覺得不值得。Deno第一擊未中:它具有許多不錯的特征,但是沒有什么能讓用戶放棄Node.js的杰出之處。

Deno的另一個主要失敗之處是它不支持NPM軟件包。如果Deno能夠支持NPM軟件包,就很可能能夠改變形勢。Deno支持NPM軟件包將使它們不再像“單獨的電子郵件客戶端”,更像是對當前客戶端的更好包裝。支持NPM軟件包將大大降低進入壁壘。這將為用戶把項目和庫遷移至Deno提供一個良好的鋪墊。

這類似于TypeScript的“嚴格模式”。對于具有JavaScript強大代碼庫的用戶,直接轉用TypeScript會降低你幾周內梳理錯誤消息的效率。

由于TypeScript可以取消嚴格模式,于是它可以為用戶完全轉向使用TypeScript做鋪墊。這使它們的進入門檻大幅降低,又助力TypeScript爭得近年來JavaScript搶占的市場份額。

啟示是什么?

[[349332]]

圖源:unsplash

筆者認為這是一個有趣的案例,例證了更多的商業(yè)方法。給我們帶來的啟示就是,如果你要發(fā)布新產品,請務必確保它具有強大的優(yōu)點,能夠克服人們拒絕轉變現狀的阻力。

Deno具有魅力,但歸根到底,只是多了一系列的小“修復”,代價卻是失去了Node.js培育的整個NPM生態(tài)系統(也曾助它們壯大)。

那么,Deno接下來何去何從?首先他們得做出決定。要么努力增加Node.js庫的向后兼容性,要么提供更多好處來誘使用戶轉換平臺。筆者認為更應拓展向后兼容,此后將極大改善項目的未來。

無論如何,祝Deno團隊好運,愿好技術長存。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-05-20 09:26:59

Node.jsDenoJavaScript

2022-03-04 07:37:16

DenoNode.js項目

2015-10-27 15:50:47

JS框架

2022-11-28 20:01:19

Node.js?Deno

2011-09-02 14:47:48

Node

2022-08-24 08:00:00

Node.isJavaScriptDeno

2021-03-31 10:18:07

Node.jsDeno公司開發(fā)

2018-06-06 09:54:00

javascriptnode.jstypescript

2011-02-25 14:26:18

ProFTPDMySQL

2011-11-15 10:32:27

2011-11-10 10:04:20

2012-05-02 15:56:20

PHP

2023-09-26 15:22:02

2022-05-11 09:23:08

CloudflareNode.jsJavaScript

2013-11-01 09:34:56

Node.js技術

2015-03-10 10:59:18

Node.js開發(fā)指南基礎介紹

2023-06-29 00:16:45

2019-05-27 15:30:44

Node.jsJavaScript前端

2025-05-13 07:45:52

2023-09-27 16:52:13

點贊
收藏

51CTO技術棧公眾號