浏览器架构
- 演进
- 单进程架构(所有模块)
- 我觉得单线程架构应该在短时间内不会被替代,因为可以节约资源等一些原因,是由存在的道理的
- 多进程架构(主进程、网络进程)
- 面向服务架构(独立)
- 面向服务架构迟早会替代多进程架构,优势太明显了
- 单进程架构(所有模块)
渲染进程
- 终于知道为什么chrome浏览器那么厉害了
- 多线程架构
- 内部是多线程实现,主要负责页面渲染,脚本执行,事件处理,网路请求
- 我的理解是各个线程分工合作,构成完整的浏览器运行效果
- JS引擎vs渲染引擎
- 解构执行JS
- XML解析生成渲染树,显示在屏幕
- 桥接方式通信
- 如何展示网页
- 读取响应
- 资源加载
- 构建渲染树
- 页面布局
- 页面绘制
- 一些专有名词有点难懂,还需要时间去熟悉,但是还是大致了解浏览器的进程
chrome运行原理
- 前端性能:
- 时间花在哪
- 什么情况下卡顿 进程太多
- 首屏优化
- 压缩、分包
- 静态资源分离
- JS脚本非阻塞加载
- 缓存策略
- SSR
- 预制loading、骨架屏
- 渲染优化
- GPU加速(也就是显卡之类的)
- 减少回流、重绘
- 离屏渲染
- 懒加载
- JS优化
- 防止内存泄露
- 循环尽早break
- 合理使用闭包
- 减少Dom访问
- 防抖、节流
- Web Workers
- 这里挺好理解的,解释得非常清楚
跨端容器
- 为什么需要
- 开发成本、效率
- 一致性体验
- 前端开发生态
- 其实就是统一、方便、好用
- WebView跨端容器
- Webview、Android、IOS、国产安卓
- 这里非常结合实际
- 好处:一次开发、处处使用等等
- 原生能力
个人感悟
这节课让我更清楚地了解了前端的一些应用,原来工程开发是那么强大,感觉非常有趣,课下要花更多的时间去努力学习,希望也能成为一名合格的软件开发工程师。这条路就是从前端开始啦,加油加油!!!