Electron:隱藏在 ChatGPT、Claude 與 VS Code 背後的基礎設施
1、先把對象說準。Electron 不是“Mac 專用框架”,而是一個用 JavaScript、HTML、CSS 構建桌面應用的跨平臺框架,運行目標覆蓋 macOS、Windows、Linux。它通過把 Chromium 與 Node.js 打包進應用二進制,讓開發者用一套 Web 技術棧做桌面軟件;當前官方倉庫也明確寫明它被用於 Visual Studio Code 和大量其他應用。截止 2026 年 6 月 2 日,主倉庫約有 122k stars、17.2k forks、超過 30,000 次提交,最新 stable release 爲 v42.3.0,發佈時間爲 2026 年 5 月 26 日。
2、關於“創始人”,最穩妥的說法不是“只有一個英雄人物”,而是“有一個最核心的原作者 + 一個一開始就存在的 GitHub/Atom 團隊結構”。公開材料裏,最集中、最明確指向的原作者和早期技術主導者是 Cheng Zhao,也就是 zcbenz。Kevin Sawicki 在 2015 年的《The History of Electron》裏直接把項目寫成“led by Cheng Zhao”;Cheng 自己的個人站也把 Electron 列在“Created”之下,並寫明自己“Created the Electron project to power Atom editor”。但如果談“項目的推出、命名、文檔、社區化、產品化”,Kevin Sawicki、後來的 Zeke Sikelianos 以及更大的 GitHub Atom 團隊都不能被抹掉。
3、Electron 真正重要的地方,不在於“把網頁包成桌面 app”這麼一句俗套描述,而在於它把一整套跨平臺桌面軟件的工程現實——更新、安裝、簽名、原生 API、調試、測試、發佈節奏、安全補丁、社區治理——都做成了一條長期可維護的基礎設施鏈條。官方文檔今天把它定位爲 enterprise-grade、mature,並明確說 Slack、Discord、Signal、OpenAI 的 ChatGPT、Anthropic 的 Claude、Visual Studio Code、Loom、Canva、Notion、Docker 等都在用 Electron;官方甚至宣稱“多數桌面電腦至少運行着一個 Electron 應用”。這說明它已經不是一個小衆技術實驗,而是現實世界裏桌面軟件基礎設施的一部分。
4、公開信息的邊界也必須說明。關於 Cheng Zhao 的出生時間、出生地、父母背景、家庭階層、童年資源、就讀學校、是否完成學位、私人財富和股權情況,公開資料有限,暫無法確認。關於他在 NW.js 階段到底貢獻了多少原創代碼、Electron 與 NW.js 的關係到底該描述爲“從零重寫”還是“有承接與衍生”,公開說法不一。下面的研究會把高置信度信息與爭議區分開寫。
起點與人物
1、Electron 的“家庭背景”,其實是它的項目出身。Kevin Sawicki 的歷史演講把項目起點寫到 2013 年 1 月;Electron 官方十週年文章則把 electron/electron 倉庫的第一筆提交定在 2013 年 3 月 13 日。它最初不叫 Electron,而叫 Atom Shell,本質上是 GitHub 爲 Atom 編輯器打造的底層運行時。Atom 在 2014 年 4 月進入 public beta;到 2015 年 4 月 23 日,Atom Shell 正式改名爲 Electron。這件事非常關鍵,因爲改名意味着它不再只服務於 Atom,而開始自覺變成一個可以被外部開發者採用的獨立框架。
2、Cheng Zhao 的個人背景,公開可確認的信息很少,但職業軌跡很清楚。他現在的個人網站寫得非常直接:“My name is Cheng and I work at Apple on machine learning.” 網站同時把 Electron、Yue、Chie、node-mlx、Compilets列爲自己創建的項目,把 Atom 與 NW.js 列爲自己“worked on”的項目,並寫明自己曾“Created the Electron project to power Atom editor”,對 NW.js 的自我描述則是“Rewrote the project from scratch”。這說明他的長期興趣並不是單點產品,而是“把 JavaScript 與底層系統/GUI/運行時銜接起來”的工程問題。這個判斷是推論,但推論依據很強,因爲他的項目譜系從 NW.js、Electron、Yue、Yode,一路延伸到 node-mlx 與 Apple 的 MLX。
3、Cheng Zhao 的教育與家庭信息幾乎沒有公開資料,但他的早期工作軌跡可以部分勾勒。Roger Wang 在 2016 年關於 node-webkit 歷史的公開聲明中寫道,他在 2012 年面試並招入 “Zhao Cheng” 作爲實習生參與 node-webkit;同一份聲明還說,後來 GitHub 的 Atom 項目負責人聯繫了他們,Cheng 離開該團隊去做 Atom Shell。Smashing Magazine 2017 年關於桌面 Web 框架的文章,也把早期節點寫成“an intern named Cheng Zhao joined the project”。這裏可以確認的,是他很早就捲入了 Node.js 與 Chromium 的嵌入式整合工作;不能確認的,是更早的家庭和學校路徑。
4、如果只看“第一份有代表性的職業經歷”,那不是 Apple,也不是某個創業公司,而是 node-webkit / NW.js 這一類底層運行時工作。這很關鍵,因爲它解釋了他爲什麼後來能在 GitHub 裏做出 Electron:他不是從前端頁面作者一路自然長成 Electron 作者,而是很早就進入了“把瀏覽器內核、Node、原生系統 API 混成一套桌面運行時”的核心領域。Kevin Sawicki 的演講甚至明寫過,GitHub 在把 Atom 遷移到 node-webkit 的嘗試裏遇到困難,隨後方案變成“hire the maintainer (me)”去改進 node-webkit,再發展成新路線。換句話說,Cheng Zhao 能進入 Atom/Electron 核心,不是偶然,而是因爲他碰巧站在這個很窄、但非常關鍵的技術交叉點上。
5、關於“是否有單一創始人神話”,最準確的整理應該是這樣:Cheng Zhao 是原作者與早期技術骨架的關鍵人物;Kevin Sawicki 是項目歷史、命名、對外敘述和路線整理的重要面孔;Zeke Sikelianos 後來幫助 launch Electron、國際化官網、增加 TypeScript 支持並做社區運營。Zeke 自己的 CV 也寫得很清楚:他在 GitHub 的五年裏“helped launch Electron”,並參與國際化與社區工作。所以,如果問題是“誰寫出了最初的骨架”,答案主要指向 Cheng;如果問題是“誰把 Electron 變成一個大項目”,答案一定是多人協作。
項目、組織與資源網絡
1、Electron 的項目譜系很清晰。最初它是 Atom 的底層殼;2015 年改名,開始作爲獨立框架吸納外部開發者;2016 年 1.0 發佈時,項目已經把“做框架”這件事從代碼層擴展到了工具鏈層,官方同時推動了文檔、API 演示、Devtron 調試擴展、Spectron 集成測試框架和社區頁。這說明 Electron 從早期開始就不是隻賣“運行時”,而是賣一整套開發者生產系統。
2、在品牌、資產、組織、平臺層面,Electron 的核心“資產”不是傳統意義上的公司股權,而是開源基礎設施與技術品牌。最核心的包括:electron/electron 主倉庫、electronjs.org 官網與文檔、發佈節奏與升級流程、Electron Fiddle、Electron Forge、社區頁、治理倉庫、Open Collective 募資通道,以及 OpenJS Foundation 下的品牌與商標治理。嚴格說,這些裏既有“硬資產式”的工程資產,也有“影響力資產式”的品牌與生態位。
3、Electron Fiddle 與 Electron Forge 很能說明這個項目後來爲什麼能持續擴大。Fiddle 負責降低試錯與教學門檻,讓新用戶可以馬上跑例子;Forge 則把打包、簽名、安裝器、發佈等繁瑣環節統一到一條建構流水線裏。官方文檔明確把 Forge 說成 packaging and publishing 工具,並強調它把 Electron 的構建工具生態統一到一個接口裏。也就是說,Electron 後來的成功,不只因爲“能寫桌面應用”,還因爲“從學到發都被圍繞起來了”。
4、Cheng Zhao 自己的“旗下項目”也值得看,因爲它們構成了他的個人技術品牌。個人網站當前列出的“Created”包括 Electron、Yue、Chie、node-mlx、Compilets;“Working on”寫的是 Apple 的 MLX;“Archived”裏還能看到 Wey、Crossclip、node-pathwatcher、asar 等。你能從這裏看到一種非常強的延續關係:他反覆做運行時、GUI、打包、原生綁定、JavaScript 與系統能力橋接,後來這個路徑自然延展到本地大模型與機器學習工具。換言之,Electron 不是他職業中的孤島,而是主線工程觀的一部分。
5、資本與組織關係方面,Electron 沒有典型“創業公司—VC—融資輪”的故事。它起源於 GitHub,但後來刻意從“單一公司主導”轉向“基金會中立治理”。2019 年 Electron 正式引入治理結構,設立多個 working groups;同年加入 OpenJS Foundation 孵化;2020 年升級爲 OpenJS Foundation Impact Project。官方寫得很明確:這個轉變的目的之一,就是把 Electron 從單一企業擁有的項目,抬升爲由多個組織與個人共同維護的中立項目。
6、但“中立治理”不等於“沒有企業力量”。官方今天同樣明確寫道,Electron 是由多家公司維護的,文檔裏直接點名 Microsoft、Slack/Salesforce、Notion 等;2019 年 Cheng Zhao 自己的分享也提到,微軟安全專家做過代碼審查,來自 Slack、VS Code、Microsoft Teams 的開發者一起幫助 Electron 跟進 Chromium 升級。所以 Electron 的真實資源網絡不是 VC,而是“企業工程師時間 + 基金會治理 + 社區貢獻 + 少量公開募資”。
7、公開資金方面,Electron 的 Open Collective 頁說明,項目會把通用基金用於 contractors、bounties、security audits、performance、general upgrades。換句話說,這個項目確實有公開籌資能力,但它的資金角色更像“維持基礎設施健康”,而不是“給股東講增長故事”。對於一個 MIT 許可的基礎框架來說,這已經很像成熟開源項目的財政形態。
商業邏輯、關鍵轉折與結果
1、Electron 自身的商業模式,本質上是“不開許可費,靠降低跨平臺開發成本創造價值”。它面向開發者免費、MIT 許可、可商業使用。真正變現的,通常不是 Electron 本身,而是建在它上面的應用公司、工具鏈公司、服務商和招聘市場。對 GitHub 當年而言,Electron 的直接價值是更快做出 Atom 這樣的產品;對後來採用它的公司而言,價值是用一支偏 Web 的團隊做出多平臺桌面客戶端;對項目維護者而言,價值則轉化爲職業資本、技術話語權和生態控制力。
2、Electron 的一個巨大轉折,是從“內部工具”變成“公共框架”。2015 年改名是第一步;2016 年 1.0 是第二步。1.0 的意義不是版本號變大,而是官方自己明確把項目定位成 API 穩定、工具齊全、可用於 Windows、Mac、Linux 真正原生感應用的成熟框架。也正是在這個階段,項目開始系統地建設調試、測試、學習與社區基礎設施。
3、第二個關鍵轉折,是把“跟進 Chromium”從可選項變成項目紀律。2019 年 Electron 轉向 12 周 major cadence;2021 年再切到 8 周 cadence,官方解釋裏直接提到兩個外部壓力:Chromium 自身發佈加速,以及 Microsoft Store 對 Chromium-based apps 的版本新鮮度要求。這個決策非常重要,因爲它讓 Electron 從“有時落後瀏覽器引擎的桌面框架”,變成“以升級速度作爲核心競爭力的桌面框架”。
4、第三個關鍵轉折,是治理結構與所有權中立化。2019 年引入 working groups,2020 年進入並升級到 OpenJS Foundation 的 Impact Project,這緩解了“項目太依賴單一公司和少數人”的結構性風險。官方後來總結十年曆史時特別強調,治理模型是 Electron 能在多公司、多時區、幾十位維護者之間長期運轉的原因之一。對一個需要長期追趕 Chromium/Node 安全升級的項目來說,這不是錦上添花,而是生死問題。
5、第四個關鍵轉折,是安全默認值越來越保守。官方安全文檔寫得很清楚:Electron 不是瀏覽器,執行不受信任內容會帶來嚴重風險。爲了降低開發者誤用帶來的系統性風險,Electron 把 nodeIntegration 在 5.0 起默認關閉,把 contextIsolation 在 12.0 起默認開啓,把 renderer sandboxing 在 20.0 起默認開啓。這個變化說明項目意識到:如果繼續把高權限能力默認敞開,Electron 會被自己的靈活性反噬。
6、第五個關鍵轉折,是對 Apple 平臺現實的及時跟進。Electron 11 增加 Apple Silicon 支持,官方也長期維護 Mac App Store 提交指南。這一點對“Mac 端桌面框架”的現實地位很重要:Electron 雖然常被吐槽“不夠原生”,但它並不是躲開 Apple 平臺規則在野路子求生,而是持續進入 Apple 生態的簽名、提交、Store 分發與芯片遷移流程。
7、最傑出的結果,是 Electron 把“Web 技術做桌面軟件”從一個經常被懷疑的思路,變成了默認可行的工業路徑。官方 2026 文檔已經把它寫成適合旗艦產品的 enterprise-grade framework,並把 ChatGPT、Claude、VS Code、Slack、Discord、Signal、Notion、Docker、Canva、Loom 等列爲現實案例。你可以不同意它是“最優技術方案”,但很難否認它已經是“最有現實支配力的方案之一”。
8、對 Cheng Zhao 個人而言,最成功的地方不只是“做出 Electron”,而是建立了一種鮮明的工程身份:專門解決 JavaScript 世界與原生系統、GUI、打包分發、運行時融合之間的硬問題。這種身份後來又延伸到 Apple 機器學習與 node-mlx、MLX 等方向。對個人職業位置來說,這意味着他收穫的不是一次性項目名氣,而是一條長期可遷移的技術主線。
爭議、現狀與時間線
1、關於負面評價,最常見也最持久的批評就是“重”“喫內存”“啓動慢”“不像原生 app”。有意思的是,官方並不迴避這類批評。性能文檔開頭就直接說,開發者經常問如何降低內存、CPU、磁盤資源消耗;官方 Why Electron 文檔也承認,打包 Chromium 會增大磁盤體積,甚至直言多數 Electron 應用都會超過 100MB。官方的立場不是否認這些成本,而是說:這是爲了換取可控的兼容性、安全修復能力與跨平臺一致性。
2、第二類爭議是安全負擔重。官方安全文檔反覆強調,Electron 不是瀏覽器;如果你把遠程不可信內容與 Node 能力混在一起,XSS 很容易升級成 RCE。也正因此,Electron 長期維護非常詳細的安全清單,要求只加載安全內容、不要給遠程內容打開 Node 集成、開啓上下文隔離、啓用 sandbox、驗證 IPC sender、限制導航與新窗口等。這說明 Electron 的爭議不是“它不安全”,而是“它的能力太強,以至於錯誤使用時會非常危險”。
3、第三類爭議是它歷史上確實遭遇過多次高嚴重度漏洞。官方安全博客記錄了 2018 年 Windows protocol handler 遠程代碼執行問題、2018 年 webview nodeIntegration bypass、2018 年 webPreferences 子窗口 RCE、2019 年繼承自 Chromium 的高危漏洞等。換句話說,Electron 作爲一個把 Chromium、Node、原生能力混合在一起的大型運行時,天然就處在高強度安全維護壓力之下。它的優勢是反應機制與補丁節奏已經制度化,而不是“不會出事”。
4、第四類爭議比較“圈內”,但對理解創始敘事很關鍵:NW.js 歷史歸屬與 Electron 起源關係。Roger Wang 2016 年公開聲明反對 Cheng 把 node-webkit 描述成近似“solo developer”項目,並強調 Cheng 是自己在 2012 年招入的實習生,很多 Node+Chromium 的基礎集成在 Cheng 加入前已存在;與此同時,Cheng 現在的個人站仍把自己在 NW.js 的工作寫成“Rewrote the project from scratch”。因此,關於“Electron 與 NW.js 誰繼承了誰、Cheng 在 NW.js 中到底是核心開創者還是重要後期貢獻者”,最合適的表述只能是:說法不一。
5、還有一個常被誤讀的點:Atom 的衰落不等於 Electron 失敗。GitHub 在 2022 年宣佈 Atom sunset,Atom 倉庫後來被歸檔;但與此同時,Electron 本身繼續發展,而且在今天覆蓋的應用範圍比 Atom 時代大得多。也就是說,Electron 最終不僅活過了它最初的“母應用”,還脫離了 Atom 的命運曲線。這個轉折說明,Electron 真正做成的是平臺,而不是某個單體產品配件。
6、當前狀態方面,Electron 仍在活躍演進。官方倉庫顯示最新 stable 爲 42.3.0;文檔寫明 major 版本與 Chromium 保持 8 周節奏,官方只支持最近 3 個 stable release line。當前平臺支持包括 macOS Monterey 及以上、Windows 10 及以上,以及 Linux;macOS 同時提供 Intel 與 Apple Silicon 二進制。這說明 Electron 今天不是“歷史框架”,而是仍處於高頻維護狀態的成熟基礎設施。
7、Cheng Zhao 的當前狀態也很明確:他現在在 Apple 做 machine learning,並在個人站上把 MLX 作爲當前工作重點,同時繼續維持一串圍繞 JavaScript、本地模型、原生綁定與運行時的個人項目。換句話說,他今天在現實世界中的位置,已經不是“靠 Electron 喫一輩子的框架作者”,而是“做過 Electron 的系統級工程師,如今轉入 Apple 機器學習基礎設施的人”。Electron 是他的代表作,但不是他的終點。
8、如果用一條極短時間線收束全文,可以這樣看:2012 年前後,Cheng Zhao 進入 node-webkit/NW.js 語境;2013 年 Atom Shell 項目起步,2014 年 Atom public beta;2015 年 Atom Shell 改名 Electron;2016 年 Electron 1.0,文檔與工具鏈成型;2019 年建立治理結構;2019 至 2020 年轉入 OpenJS Foundation;2021 年 major cadence 改爲 8 周;2020 年代中期,Electron 成爲 AI 與協作軟件時代的主流桌面殼之一,而 Cheng Zhao 本人則在 Apple 機器學習方向繼續延展其“JavaScript 與底層系統銜接”能力。