Electron是什么
Electron可以认为是一种运行环境库,我们可以基于此,用HTML、JS和CSS写跨平台的桌面应用。
Electron特点
- Web技术 基于 Chromium 和 Node.js, 使用Node.js巨大的生态系统,让你可以使用 HTML, CSS 和 JavaScript 快速构建桌面应用
- 开源 是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目
- 跨平台 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序
技术架构
- Chromium:支持最新特性的浏览器,es6等新语法
- Node.js: javascript 运行时,可实现文件读写等
- Native APIs: 提供统一的原生界面能力,可以直接调用操作系统通知等
Electron工作流程
Electron.png主进程
- 可以看做是package.json 中 main属性对应的文件
- 一个应用只会有一个主进程
- 只有主进程可以进行 GUI 的 API 操作
渲染进程
- Windows中展示的界面通过渲染进程表现,渲染一个web界面,可以进行dom操作及node相关api操作
- 一个应用可以有多个渲染进程
Electron环境搭建
- 安装node.js
- 快速启动应用程序
//克隆示例项目仓库
git clone https://github.com/electron/electron-quick-start
//进入仓库
cd electron-quick-start
//安装依赖并运行
npm install && npm start
生命周期事件
- ready:app初始化完成
- dom-ready:一个窗口中的文本加载完成
- did-finsh-load:导航完成时触发
- window-all-closed:所有窗口都被关闭时触发 (监听后需要主动退出)
- before-quit:在关闭窗口之前触发
- will-quit:在窗口关闭并且应用退出时触发
- quit:当所有窗口被关闭时触发
- closed:当窗口关闭时触发,此时应删除窗口引用
网友评论