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

74 阅读2分钟

浏览器框架对比 image.png 浏览器架构--多进程分工

image.png

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

Chrome运行原理-输入处理 1.用户Url框输入内容后,UI线程会判断输入的是一个URL地址呢,还是一个query查询条件 2.如果是URL,直接请求站点资源 3.如果是query,将输入发送给搜索引擎

Chrome运行原理-读取相应 1.网络线程接收到HTTP响应后,先检查响应头的媒体类型 2.如果响应主体是一个HTML文件,浏览器将内容交给渲染进程处理 3.如果拿到的是其他类型文件,比如Zip,exe等,则交给下载管理器处理。

我的思考:

动态化属性提升,我们可以把原有必须在客户端上写的业务放到了远端,业务的动态性得到很大的提升,具备随时上线业务的可能。 对于开发过程而言,编译部署的速度也得到了极大提升。如果涉及到客户端的代码改动,那客户端的编译打包,即使是增量的编译,也至少是秒级的编译速度。 而容器化后,我们只打包必要的业务,把业务动态下发到容器呈现,客户端代码本身不会有变化,这样就可以从秒级的编译减少到毫秒级的编译。同样,业务动态下发,对减少客户端的包大小也有很大的帮助。