什么是进程
从计算机的角度理解,进程就是正在使用cpu的一段程序。
从编写一个electron程序的角度理解,进程就是一个窗口。
主进程和渲染进程
主进程是负责管理所有的窗口以及对应的渲染进程。怎么理解这句话呢?简单来说就是主进程管理主窗口以及所有的图形界面,因为GUI(图形界面编程)相关的模块仅在主进程中可用。
渲染进程负责非主窗口,非图形界面编程的所有工作。每个渲染进程都是独立的,也有自己的主html文件和主js文件,除没有GUI之外,其它基本相同。
区分主进程和渲染进程的方法:文件名前缀为index或main的就是,更本质一点是在package.json文件中的‘main’属性的值就是主进程的文件名。
主进程和渲染进程的交流
由于主进程管理渲染进程,渲染进程无法使用GUI,所有两个必须要共同合作才能完成一个完整的软件。
相互通信使用ipcRenderer模块(建议)
主进程想访问渲染进程的话只需要以渲染进程对应的窗口为入口访问即可
如果想渲染进程使用主进程的功能,可使用remote模块,比较方便,但也会导致一些问题,electron本身也在逐渐删除remote模块
注
本文章仅代表个人观点,本人也是初学者,故理解可能不到位甚至是错误的,请批判性地看
参考:
《Electron实战:入门、进阶于性能优化》 --刘晓伦
官方文档