Maintainer Summit 2022 回顧
上個月,Electron 的維護者團隊在加拿大溫哥華聚會,討論 2023 年及以後專案的方向。在會議室的四天裡,核心維護者和受邀的合作者討論了新的倡議、維護痛點和整體專案健康狀況。

團體照!由 @groundwater 拍攝。
展望未來,團隊仍將完全致力於發布定期且快速的 Chromium 升級、修復錯誤,並使 Electron 對所有人來說更安全且效能更佳。我們還有一些正在進行的令人興奮的專案,很樂意與社群分享!
具變革性的新 API
Electron 專案中需要共識的主要 API 提案,會經過意見徵求 (RFC) 流程,並由我們的 API 工作小組成員進行審查。
今年,我們推動了兩項主要提案,這些提案有可能為 Electron 應用程式解鎖全新層次的功能。這些提案具有高度實驗性,但這裡搶先預覽一下未來發展!
新的原生附加元件增強功能 (C API)
此提案概述了新的 Electron C API 層,將允許應用程式開發人員編寫自己的原生 Node 附加元件,以與 Electron 的內部資源介接,類似於 Node 自己的 Node-API。關於提議的新 API 的更多資訊可以在這裡找到。
範例:使用 Chromium 資源強化應用程式
許多 Electron 應用程式維護自己的分支,以便直接與 Chromium 內部組件互動,否則在使用原始 (未修改) 的 Electron 時將無法存取。透過在 C API 層公開這些資源,這段程式碼可以改為作為原生模組與 Electron 並存,可能減輕應用程式開發人員的維護負擔。
公開 Chromium 的 UI 層 (Views API)
在底層,Chrome 使用者介面 (UI) 中非網站的部分,例如工具列、分頁或按鈕,是使用名為 Views 的框架建構的。Views API 提案將此框架的部分組件作為 JavaScript 類別引入 Electron,最終目標是允許開發人員為其 Electron 應用程式建立非網頁 UI 元素。這將避免應用程式必須拼湊網頁內容。
使這組新 API 成為可能的基礎工作目前正在進行中。以下是您在不久的將來可以期待的一些首批事項。
範例:使用 WebContentsView
重構視窗模型
我們第一個計畫的變更是將 Chrome 的 WebContentsView 公開到 Electron 的 API 介面,這將是我們現有的 BrowserView API(雖然名稱如此,但它是與 Chromium Views 無關的 Electron 特定程式碼)的後繼者。隨著 WebContentsView 的公開,我們將擁有一個可重複使用的 View 物件,可以顯示網頁內容,為將 BrowserWindow 類別變成純 JavaScript 並消除更多程式碼複雜性開啟大門。
雖然此變更並未為應用程式開發人員提供許多新功能,但它是一個大型重構,消除了底層的許多程式碼,簡化了 Chromium 升級,並降低了主要版本之間出現新錯誤的風險。
如果您是在應用程式中使用 BrowserView 的 Electron 開發人員:別擔心,我們沒有忘記您!我們計畫將現有的 BrowserView 類別作為 WebContentsView 的墊片,在您轉換到較新 API 時提供緩衝期。
請參閱:electron/electron#35658
範例:使用 ScrollView
的可捲動網頁內容
我們在 Stack 的朋友們一直在推動一項倡議,將 Chromium ScrollView 元件公開到 Electron 的 API。透過這個新的 API,任何子 View 元件都可以水平或垂直捲動。
雖然這個新的 API 實現了一個較小的單一功能,但團隊的最終目標是建立一組實用程式 View 元件,可以用作工具組來建構更複雜的非 HTML 介面。
參與方式
您是 Electron 應用程式開發人員,對這些 API 提案中的任何一項感興趣嗎?雖然我們尚未準備好接收額外的 RFC,但請繼續關注未來更多詳細資訊!
Electron Forge v6 穩定版本發布
自框架創立以來,Electron 的建置工具生態系統主要由社群驅動,並由許多小型單一用途套件組成(例如 electron-winstaller、electron-packager、electron-notarize、electron-osx-sign)。雖然這些工具運作良好,但使用者要拼湊出一個可運作的建置管線仍然令人生畏。
為了幫助為 Electron 開發人員建立更友善的體驗,我們建置了 Electron Forge,這是一個 all-in-one 解決方案,將所有現有工具整合到單一介面中。雖然 Forge 自 2017 年以來一直在開發中,但該專案在過去幾年中一直處於休眠狀態。然而,鑑於社群對 Electron 建置工具狀態的回饋,我們一直努力不懈地發布下一代穩定主要版本的 Forge。
Electron Forge 6 隨附一流的 TypeScript 和 Webpack 支援,以及可擴充的 API,允許開發人員建立自己的外掛程式和安裝程式。
敬請期待:公告即將發布
如果您有興趣使用 Forge 建置專案,或使用 Forge 的可擴充第三方 API 建置範本或外掛程式,請繼續關注我們本月稍晚發布的 Forge v6 穩定版本官方公告!
下一步?
除了上述內容之外,團隊始終在思考一系列探索性專案,以使 Electron 體驗對應用程式開發人員和終端使用者來說更好。更新工具、API 審查流程和增強的文件是我們正在試驗的其他事項。我們希望在不久的將來分享更多消息!