1.首先了解浏览器架构演进
- 单进程架构所有模块运行在同一个进程里·包含网络.插件、javaScript运行环境等
- 多进程架构主进程、网络进程、渲染进程.GPU进程、插件进程
- 面向服务架构将原来的UI、数据库.文件、设备、网络等·作为一个独立的基础服务
2.浏览器架构对比
| 架构类型 | 扩展性 | 安全性 | 稳定性 | 流畅度 |
|---|---|---|---|---|
| 单进程架构 | 低,所有模块运行在同一进程里,访问同一块内存区域,数据没有隔离,新增模块可能影响原有功能 | 低,三方插件可直接访问操作系统里任意资源 | 低,三方插件漏洞或者某个tab页面JavaScript脚本问题可能导致浏览器崩溃 | 卡顿,所有页面运行在同一进程中,开启多个页面时明显卡 |
| 多进程架构 | 中,各进程分配独立的内存区域,有些进程功能较大,耦合度高 | 高,运行在独立沙箱中,不能访问系统敏感资源 | 高,进程相互隔离,当一个页面或者插件崩溃时,不会影响其他进程 | 流畅,每个页面运行在独立的渲染进程中,充分利用系统资源 |
| 面向服务架构 | 高,服务模块划分更细,更内聚、耦合性低,易于扩展 | 高,运行在独立沙箱中,不能访问系统敏感资源 | 高,进程相互隔离,当一个页面或者插件崩溃时,不会影响其他进程 | 流畅,每个页面运行在独立的渲染进程中,充分利用系统资源 |
3.跨端容器-使用WebView的优势
- 一次开发,处处使用学习成本低
- 随时发布,即时更新,不用下载安装包
- 移动设备性能不断提升性能有保障
- 通过」s&idge和原生系统交互,实现复杂功能
4.跨端容器-通用原理
- UI组件
- 渲染引擎
- 逻辑控制引擎
- 通信桥梁
- 底层API抹平表现差异