客户端容器 ||青训营笔记

76 阅读1分钟

客户端容器 ||青训营笔记

                                         -----web浏览器以及跨端方案

浏览器架构
多进程架构中,进程之间是相互隔开的
进程之间访问需要先定好接口再通过IP通信访问
如图:

联想截图_20230503212026.png 对比如图:

联想截图_20230503212222.png 多进程分工:
主进程较为重要
标签页(重点讲)(渲染进程)

联想截图_20230503212457.png 思考:
为什么会有单进程架构?
面向服务架构是否会替代多进程架构?
【节约资源】

渲染进程
常见浏览器内核(如图)

联想截图_20230503212847.png 多线程架构

JS引擎VS渲染引擎 1.解析执行JS 2.XML解析生成渲染树,显示在屏幕 3.桥接方式通信

理解笔试题目:

联想截图_20230503214449.png Chrome运行原理 如何展示网页: 浏览器地址输入URL后发生了什么:(如图) 联想截图_20230503214906.png

具体细节: 1.输入处理: 输入内容后,UI线程会判断输入的是一个URL地址,还是一个query查询条件{若为URL,直接请求站点资源;若为query,将输入发送给搜索引擎} 2.读取响应(如图) 3.寻找渲染进程(如图) 4.资源加载(如图) 5.构建渲染树(图) 6.页面布局(图) 7.页面绘制(图)

联想截图_20230503215549.png 联想截图_20230503215640.png 联想截图_20230503215751.png 联想截图_20230503215810.png 联想截图_20230503215935.png

联想截图_20230503220015.png 前端性能performance:

首屏优化

联想截图_20230503220451.png 渲染优化 1、GPU加速 2、减少回流、重绘 3、离屏渲染 4、懒加载

JS优化: 1.防止内存泄漏 2.循环尽早break 3.合理使用闭包 4.减少Dom访问 5.防抖、节流 6.WEB Workers

跨端容器 1.开发成本低,效率高 2.一致性体验

联想截图_20230503222508.png 跨端方案

Webview:(如图) 联想截图_20230503222554.png

优势:

联想截图_20230503222723.png 联想截图_20230503222802.png 联想截图_20230503222814.png

跨端容器--小程序

联想截图_20230503222933.png

React Native/WeeX(如图)

联想截图_20230503224121.png

Lynx(如图)

联想截图_20230503224204.png

flutter

联想截图_20230503224259.png

通用原理

联想截图_20230503224306.png