Electron
Electron 是一个使用 Web 技术创建桌面应用的平台。用它创建的桌面应用可以运行在 macOS、Windows、Linux 等多种操作系统之上。
Electron 内部整合了 Chromium 浏览器核心和 Node.js,还为开发者提供了很多操作系统 API。
Electron 的作者是 Cheng Zhao,一名来自 GitHub 的工程师。Electron 过去名为 Atom Shell,作为 Atom 编辑器的底层支撑。
性能
不可否认 Electron 比 C/C++ 技术栈有性能差距。但只要前端代码写得足够优秀,完全可以做到与 C/C++ 相媲美。典型案例是 Visual Studio Code。同时 Node.js 本身支持 C++ 扩展,复杂处理逻辑可以交由 C++ 实现。
Getting Start
安装:npm install electron --save
双进程架构
Electron 由两种进程组成:Electron 主进程、Electron 渲染器进程。
有的模块可以同时工作在两种进程下。有的模块只能工作于主进程。
渲染进程可通过 Electron 进程间通信,实现进程间通信。
Electron 模块
仅主进程可用:
- Electron app 模块
- autoUpdater
- Electron BrowserWindow 模块
- contentTracing
- Electron dialog 模块
- globalShortcut
- ipcMain
- Menu
- MenuItem
- powerMonitor
- powerSaveBlocker
- protocol
- session
- webContents
- tray
仅渲染器进程可用:
- desktopCapturer
- ipcRenderer
- Electron remote 模块
- webFrame
两种进程均可用:
- clipboard
- crashReporter
- nativeImage
- screen
- Electron shell 模块
Electron Preload
本文作者:Maeiee
本文链接:Electron
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!