Electron初體驗

chester·chen發表於2024-08-21

為什麼使用electron

最近準備開發一個國產麒麟系統上的桌面程式,主要完成Linux命令的視覺化,而electron作為目前最活躍的跨平臺桌面應用程式的框架之一,它可以使用網頁技術(如 HTML、CSS 和 JavaScript)來建立桌面應用程式,同時利用 Node.js 的強大能力來訪問作業系統底層功能,可以充分利用前端社群與Node.js的各種技術棧實現強大的功能。

與作業系統互動

Electron 的架構主要分為三個核心部分:主程序(Main Process)、渲染程序(Renderer Process) 以及 預載入指令碼(Preload Script)。

1. 主程序(Main Process)

  • 功能:主程序是 Electron 應用程式的入口點,控制應用程式的生命週期。它執行 Node.js 環境下的 JavaScript 程式碼,並負責建立和管理所有的渲染程序(即應用的視窗)。

2. 渲染程序(Renderer Process)

  • 功能:渲染程序是每個應用視窗的獨立程序,它執行在 Chromium 中,並負責顯示使用者介面(UI)。渲染程序執行的程式碼是 Web 技術(HTML、CSS、JavaScript)。

3. 預載入指令碼(Preload Script)

  • 功能:預載入指令碼在渲染程序載入網頁內容之前執行,執行在隔離的上下文中。它可以透過橋接方式將 Node.js API 暴露給渲染程序,同時仍然保證安全性。

electron實踐

命令視覺化工具的總體架構如下

後臺UI: vue-element-admin

後臺Server: Golang

客戶端UI: vue-element-admin

客戶端操作: node.js

效果圖