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

50 阅读2分钟

浏览器架构

  • 演进
    • 单进程架构(所有模块)
      • 我觉得单线程架构应该在短时间内不会被替代,因为可以节约资源等一些原因,是由存在的道理的
      • image.png
    • 多进程架构(主进程、网络进程)
      • image.png
    • 面向服务架构(独立)
      • 面向服务架构迟早会替代多进程架构,优势太明显了

渲染进程

  • image.png
    • 终于知道为什么chrome浏览器那么厉害了
  • 多线程架构
    • 内部是多线程实现,主要负责页面渲染,脚本执行,事件处理,网路请求
    • 我的理解是各个线程分工合作,构成完整的浏览器运行效果
  • JS引擎vs渲染引擎
    • 解构执行JS
    • XML解析生成渲染树,显示在屏幕
    • 桥接方式通信
  • 如何展示网页
    • image.png
    • 读取响应
    • 资源加载
    • 构建渲染树
    • 页面布局
    • 页面绘制
      • image.png
    • 一些专有名词有点难懂,还需要时间去熟悉,但是还是大致了解浏览器的进程

chrome运行原理

  • 前端性能:
    • 时间花在哪
    • 什么情况下卡顿 进程太多
    • 首屏优化
      • 压缩、分包
      • 静态资源分离
      • JS脚本非阻塞加载
      • 缓存策略
      • SSR
      • 预制loading、骨架屏
    • 渲染优化
      • GPU加速(也就是显卡之类的)
      • 减少回流、重绘
      • 离屏渲染
      • 懒加载
    • JS优化
      • 防止内存泄露
      • 循环尽早break
      • 合理使用闭包
      • 减少Dom访问
      • 防抖、节流
      • Web Workers
      • 这里挺好理解的,解释得非常清楚

跨端容器

  • 为什么需要
    • 开发成本、效率
    • 一致性体验
    • 前端开发生态
    • 其实就是统一、方便、好用
  • WebView跨端容器
    • Webview、Android、IOS、国产安卓
    • 这里非常结合实际
    • 好处:一次开发、处处使用等等
    • 原生能力

个人感悟

这节课让我更清楚地了解了前端的一些应用,原来工程开发是那么强大,感觉非常有趣,课下要花更多的时间去努力学习,希望也能成为一名合格的软件开发工程师。这条路就是从前端开始啦,加油加油!!!