客户端容器

106 阅读3分钟

客户端容器-web浏览器及跨段方案

浏览器架构

浏览器架构变迁

单进程→多进程→面向服务架构
单进程:安全性较低(插件可以访问浏览器资源)、流畅度较低(打开多页面时易卡顿)
多进程:安全性较高(插件没有资格访问浏览器资源)、流畅度较高(打开多页面时不易卡顿)
面向服务架构:安全性较高(插件没有资格访问浏览器资源)、流畅度较高(打开多页面时不易卡顿)


进程:程序在电脑上执行活动,启动进程就是运行程序的意思。具体运行方法是系统进行资源分配和调用。
多进程:一个应用程序有多条执行路径,即在同一个时间段执行多个任务,提高CPU的使用率
线程:进程的执行单元,执行路径
单线程:一个应用程序只有一条执行路径
多线程:提高应用程序的使用率

浏览器各架构对比-任务管理器

打开任务管理器快捷键:Ctrl+shift+esc

多进程架构介绍

浏览器:主进程,负责展示页面/管理主进程
GPU进程:UI绘制
网络进程:资源加载
标签页:控制tab内容,实现html,css,js交互
插件进程:控制插件
其他进程   

渲染进程

多线程工作流程

     网页线程加载资源
     js引擎解析脚本并执行
     js解析时,渲染线程立即工作
     用户交互,定时器操作等回调函数放入任务管理器
     事件进程进行事件循环,将队列认为取出js交给js引擎执行

⭐chrome运行原理-如何展示网页

浏览器主进程:

    输入处理(UI线程判断在url框输入的是url地址还是query查询条件,如果是url地址,就请求站点资源/如果是query,将输入发送给搜索引擎)
    
    开始导航(用户按下回车,UI线程通知网络线程发送请求,来获取站点内容,请求过程中,tab处于loading状态)
    
    读取响应(收到响应,读取)
    
    寻找渲染进程(寻找渲染进程,开始处理){渲染进程:资源加载构建(构建渲染树)布局绘制合成完成}

首屏优化:

 1.压缩,分包(单页应用最好分包),删除无用代码
 2.静态资源分离
 3.JS脚本非阻塞加载
 4.缓存策略
 5.SSR
 6.预置loading,骨架屏

渲染优化:

 1.GPU加速
 2.减少回流,重绘
 3.离屏渲染
 4.懒加载

JS优化:

 1.防止内存泄漏
 2.循环尽早break
 3.合理使用闭包
 4.减少Dom访问
 5.防抖,节流
 6.web workers

跨端容器

跨端好处:

1.开发成本低,效率高
2.一致性体验
3.前端开发生态

跨端容器

Webview/Android/IOS/国产Android

image.png