Electron

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:当窗口关闭时触发,此时应删除窗口引用

你可能感兴趣的:(Electron)