客户端容器| 青训营笔记

53 阅读2分钟

课程目录

浏览器架构

渲染进程

Chrome运行原理

跨端容器

一、浏览器架构

浏览器架构演进
  1. 单进程架构:所有模块运行在同一个进程里,包含网络、插件、JavaScript运行环境等
  2. 多进程架构:主进程、网络进程、渲染进程、GPU进程、插件进程
  3. 面向服务架构:将原来的UI、数据库、文件、设备、网络等,作为一个独立的基础服务

image.png

为什么会有单进程架构:进程架构具有一些优势:简单性;资源消耗;兼容性。

面向服务架构是否会替代多进程架构?

面向服务架构在某些方面具有优势,但它不一定会完全替代多进程架构。两种架构各自适用于不同的应用场景,浏览器厂商可能会根据实际需求和技术栈选择合适的架构。随着Web技术的不断发展,未来浏览器架构可能会继续演进,以适应更多的需求和挑战。

二、渲染进程

多线程架构

进程是一个独立的程序执行实例,它包括程序的代码、数据以及运行时所需的系统资源(如文件描述符、内存空间等)。每个进程都有自己的独立地址空间,操作系统会为每个进程分配和管理资源。

线程是进程内的一个执行单元,它共享进程的地址空间和资源,但拥有自己的执行堆栈和程序计数器。一个进程可以包含多个线程,它们可以并发地执行任务。

JS引擎 VS 渲染引擎

解析执行JS;XML解析生成渲染树,显示在屏幕;桥接方式通信;

多线程工作流程

网络线程负责加载网页资源;JS引擎解析JS脚本并且执行;JS解析引擎空闲时,渲染线程立即工作;用户交互、定时器操作等产生回调函数放入任务队列中;事件线程进行事件循环,将队列里的任务取出交给JS引擎执行

image.png

三、Chrome运行原理

如何展示网页

image.png 输入解析;DNS查询;建立连接;发送HTTP请求;接收响应;关闭或重用连接;解析HTML;请求其他资源;构建渲染树;布局;绘制;交互;关闭。

四、跨端容器

跨端优势

开发成本、效率;一致性体验;前端开发生态

同样是基于webview渲染,为什么小程序体验比webview流畅?:优化的渲染引擎;分离的逻辑层和渲染层;限制和优化的API;资源限制;预加载和缓存机制

总结

image.png