用 Electron 打造跨平台前端 App

// win.setShape 可以创建非矩形窗口

工具有:NWheXElectron

一个 Electron 应用至少包含一个主进程和一个渲染进程,渲染进程可以有多个(比如有弹窗)

渲染进程不允许使用一些 GUI(非 HTML) 相关的 API

Electron提供ipc(进程间通信)模块来实现渲染进程与主线程的通信,当通过ipc从主进程发送消息到渲染进程的时候,你要引用到那个窗口(就像「createWindow.webContent.send('channel')」)
定义需要引用窗口的变量时设置为 null, 避免被js垃圾回收出现问题。

在本指南中,我们将添加一个绑定菜单的托盘图标。我们也会利用这次机会探索另一种进程间通信--remote模块。remote模块实现从渲染进程向主进程发送 RPC 式调用,背后的原理是,异步调用新的浏览器窗口的主进程(tcp通信)。