Electron
是一个可以用JavaScript,Html,Css构建桌面应用的库,可以打包部署到Mac,Windows,Linux上。
Chrominum nodejs Native api = Electron
两个进程
拥有两种进程:主进程 和 渲染进程。
主进程充当幕后角色,渲染进程是应用程序各个窗口。
主进程
通常是个命名为main.js的文件,该文件是每个Electron应用入口,控制了应用生命周期(从打开到关闭)。 既能调用原生元素,也能创建多个渲染进程。
渲染进程
是应用的一个浏览器窗口,与主进程不同,能存在多个并且相互独立(他是隐藏的)。主窗口通常命名为index.html。 是典型的HTML文件,但Electron赋予了他们完整的Node API。因此,这也是与浏览器的区别。
比如Chrome可以开很多标签页,好比Electron中一个单独渲染进程,关闭了所有标签页,Chrome依然存在,就像Electron的主进程,能打开新窗口或关闭这个应用。
相互通讯
由于主进程和渲染进程各自负责不同任务,对于需要协同完成的任务,他们之间需要相互通讯,IPC就为此而生,提供了进程间通讯。 但它只能在主进程和渲染进程之间传递信息(就是渲染进程之间不能进行直接通讯)。