0
点赞
收藏
分享

微信扫一扫

Electron

(1). 背景:

①. 业务发展,需要用到桌面端技术:
    a. 如离线可用、调用桌面系统能力.

②. 桌面端的开发方式:
    a. Native、QT、Flutter、NW、Electron、Tarui

1. 技术选型是Electron

Electron是一个可以使用Web技术来开发跨平台桌面应用的开发框架

(1). 其技术组成如下:

①. Electron = Chromium + Node.js + Native API

②. Electron应用包体积大的根本原因是什么?
    a. 和chromium的框架设计有关:
       (1). 其对很多功能都没有宏控制
       (2). 导致很难把庞大复杂的细节功能去除掉
    b. 造成了基于chromium的开发框架,如electron、nwjs打出的包起步就是100多M

(4). Electron是多进程架构,架构具有以下特点:

①. 由一个主进程和N个渲染进程组成

②. 主进程承担主导作用,用于完成各种跨平台和原生交互

③. 渲染进程可以是多个,使用Web技术开发,通过浏览器内核渲染页面

④. 主进程和渲染进程通过进程间通信来完成各种功能

(5). Electron进程间通信技术原理:

①. electron使用IPC(interprocess communication)在进程之间进行通信

②. 其提供了IPC通信模块,主进程的ipcMain和渲染进程的ipcRenderer

③. 从electron源码来看:
    a. ipcMain和ipcRenderer都是EventEmitter对象

举报

相关推荐

0 条评论