🌕哇,趕在10分鐘前壓線發文~祝大家中秋連假結束了一樣可以很快樂~
前幾天(Day19)開心地以技術選型的角度,推薦了Deno這個the next-generation JavaScript runtime。
當時,選型Deno並不「經濟理性」[^1],而僅是出於想試試看的衝動。前幾天撰文的時候,我才注意到Deno不同於Node.js,組織上是一個需要向股東負責、有營利壓力的Deno Land公司。
今天,出於我個人的好奇,打算稍微爬梳Deno Land這間公司的商業脈絡。
⚠️這篇文章僅出於個人好奇,在中秋連假的尾聲的現在,邊查邊寫,存在非常多主觀性拼湊;如有錯誤,歡迎指正。
技術上,例如在Bun的首頁,Bun比較了它相對於Deno與Node.js的速度,這是基於JavaScript runtime[^2]的定位上的比較。
在商業產品上,我個人目前的心智模型如下(依商業成熟度排序):
公司 | 商業產品 |
---|---|
Cloudflare, Inc. | Cloudflare Workers |
Vercel Inc. | Vercel Platform |
Deno Land Inc. | Deno Deploy |
Oven(沒查到全名) | (未推出) |
Deno Land這間公司主張,Deno runtime會保持MIT、保持開源自由[^3];而Deno Deploy才是商業平台,也是目前說服投資人的可能營利願景。
就我個人有接觸過的、樣本數極其有限的開發者們,Bun更受全職工程師歡迎,而Deno則更受學生或業餘開發者喜愛。
所以原本直覺上以為Bun應該比Deno更商業化、獲得更多投資,然而就我查詢到的資料,Deno在商業化上走得遠比Bun更前面。
這也不難理解,畢竟Ryan相比Jarred,已經有只要是網頁開發者都知道的Node.js這個作品,具有更高知名度與團隊組織經驗。
⚠️以下是超級外行的、純商業角度的個人試析。
儘管Bun在性能與Node.js生態的兼容性是優勢,可以降低企業成本或提升效率,相比於綠地專案市場的Deno,似乎更能吸引企業。
可是,Ryan Dahl的資深背景是信譽保證,包括其優秀的團隊組織經驗,投資人應該會更傾向於投資執行力強、有經驗領導者的Deno。
如果把Node.js視為科技巨頭們爭相取得更多控制權的公共財[^4],其創新速度、核心決策較慢[^5],且沒有單一商業實體能驅動產品化,這是Deno Deploy的機會。
但是,從商業立場,由科技巨頭共同投資的公共財Node.js,可以吸納Deno的優點,並將其貢獻回Node.js,逐步瓦解Deno的價值主張。[^6]
技術趨勢最終將收斂,runtime之間的技術差異將不斷縮小。未來真正的競爭在於:商業平台本身的優越性,包含網頁前端/全端框架和雲端服務的整合深度。
所以,如果把Deno視為一個與時間賽跑的新創公司,完全可以理解為什麼Deno好一陣子都投入大部分資源在兼容Node.js,它必須搶快讓開發者們願意使用Deno,並導流、轉化到商業平台上,在Node.js把差異彌平之前。
相比與公共財、屬於Linux Foundation大家族、由OpenJS Foundation所託管的Node.js,Deno相對更不自由。
如果在自由軟體光譜較左的讀者,就取決於你是否足夠信賴Ryan。實際上,Mozilla也有投資Deno。[^7]
Oracle公司長年握有JavaScript的商標[^8],但Oracle沒有瀏覽器產品,也沒有投入資源在JavaScript,甚至Oracle曾拿Node.js作為續用商標的法律依據。Ryan嘗試主張JavaScript是通用名稱,來避免被Oracle霸佔。感興趣的讀者可以進一步瀏覽這篇文章。[^9]
身為一個從FC2開始部署靜態網頁的玩家,目前仍然使用著傳統的Apache shared hosting服務,並依賴Cloudflare的domain管理、Anti-DDoS、防GenAI爬蟲等相關服務。
即便如此,我也能從身邊幾乎每位大學生們都是從Vercel起步,感受到Vercel在市場上攻城掠地般的氣勢。Vercel今年已經同時掌握了Next.js與Nuxt.js的核心開發團隊,等於在中小型前端專案市場取得實質壟斷地位。
相比之下,Deno即使擁有全端框架Deno Fresh,我也很難想像它可以在未來五年挑戰Vercel所構築的護城河。
不確定未來會如何,身為業餘小玩家,我暫時不是雲服務的消費者。只是隨著各種面向開發者的免費服務開始走向營利階段,加上GenAI工具的出現也成為開發工具的變現轉捩點,有從早期免費補貼開發者,很顯著感受到逐漸走向更成熟收費模式的趨勢。
我看了幾個早期Ryan介紹Deno的影片,他總是會在開場先安撫大家:不必焦慮,你完全可以繼續使用Node.js。[^10][^11]
反過來,在Ianさん於2020年鐵人賽的這篇文章則提到一個廣告文案:
現在學會Deno,你也可以成為前10%的頂尖開發者。
當時Deno正式版應該才發布不到半年,竟然已經有線上課程積極投入資源、開發課程,跟我刻版印象中,很多線上課程的版本都會落後最新版本很多不同。
一來,好奇到底是怎麼觸及這個廣告的,難道只投放給CS本科系的學生?二來,這個課程跟職涯無直接相關,包含投廣告的成本,可以盈利嗎?
扯遠了,我只是覺得,Ryan本身就過分忠厚老實地介紹產品,比前端腳架的維護者在陳詞上更不積極push。
關於科技的行銷,最常見的就是塑造願景與創造焦慮,比如當前的大AI行銷敘事。
我覺得JSDC Taiwan應對這個敘事的做法挺漂亮的,一方面主張GenAI實質上沒有加快產品交付,另一方面轉而強調GenAI可以加強程式碼品質、擴展傳統前端的職責範圍。
[^1]: 理性上,我當時發現doGet
不如預期後,就應當把試用的時間視為沉沒成本,趕快改用Google Sheets API,而非玩玩看Deno。感性上,我對於前者如此「合理的」時間分配策略感到疲倦;我可能不僅僅是玩Deno,更是假日時,對於工作時必須總是盡可能選擇最合理的資源分配這一點的反抗。會不會有點像是喝星巴克或背名牌包背後的象徵性消費或非理性奢侈?我玩Deno,代表我嚮往成為有餘裕的開發者。
[^2]: 這些公司有共同協議一個非瀏覽器runtime API標準:WinterTC。
[^3]: 官方文件:「Rest assured that Deno will remain MIT licensed. For Deno to grow and be maximally useful, it must remain permissively free.」
[^4]: 當然,把它視為公共財並不嚴謹,這段是就Node.js的資金來源有超過一半來自科技巨頭們這個事實,放大商業競合的色彩來談。
[^5]: 印象中Ryan似乎就抱怨過討厭陷在各種慢吞吞的、沒有效率的會議裡,我推測這也是為什麼Ryan這次想採自己可以更好主導的公司的組織形式。
[^6]: 這段是就產品競爭的角度來談。我個人覺得Ryan或許樂見這個情況發生:他想走在前面引領變革,如同他喜歡的TypeScript去影響JavaScript一樣。
[^7]: 更精確地說,是Mozilla Corporation而非Mozilla Foundation。撰文的這個當下我才知道原來Mozilla有公司😅
[^8]: 是的,Oracle不僅握有Java,也「握有」JavaScript😆
[^9]: 我覺得這個影片底下的留言超好笑:「We should start calling it typeless TypeScript from now on.」、「If SQL and NoSQL can exist, Typescript and NoTypescript can as well.」
[^10]: 例如這個keynote上:「Disclaimer:This talk is aimed at *experienced enthusiasts/If this isn’t you: Don’t Panic/
Ignore this talk – use Node./Node isn’t going anywhere!」
[^11]: 覺得挺有趣的,想到很多人會希望前端腳架不要更新太快、開源工具的開發者們不要太勤勞,學不動啊啊啊😾