# 开篇介绍

# 浏览器多进程架构学习的必要性

可以通过了解浏览器中的网络流程、页面渲染过程,JavaScript执行流程, 以及Web安全理论,我们能把这些零散的知识点通过浏览器的多进程架构的学习 得到串联,并能站在更高的维度去理解Web应用。

# Web应用场景

应用程序Web化,随着云计算的普及和HTML5技术的快速发展,更多的应用转向浏览器/服务器(B/S) 架构,视频、音频、游戏等场景也往Web的使用场景切换。

Web应用移动号,虽然在技术层面尚还有问题待解决(比如渲染性能不如原生应用、离线时用户无法接受 消息推送等),但Google推出PWA等方案进行兼容处理。

Web操作系统化,一、利用Web技术构建纯粹的操作系统,如ChromeOS;二、浏览器的底层结构往操作系统架构 方向发展。

# 为什么学习浏览器工作原理?

准确评估Web开发项目的可行性

随着Web特性的丰富和浏览器性能的提升,越来越多的项目可以用Web开发,所以了解浏览器工作原理,可以更准确地决策 是否可以采用Web方案来开发项目。

从更高维度审视页面
站在用户体验角度考虑页面性能,常见的用户体验指标:

  • 当请求一个网站,如果1秒内看不到关键内容,用户会产生任务被中断的感觉。
  • 当点击一个按钮时,如果100ms内没有响应,会感受到延迟。
  • 如果web中动画没有达到60fps,会感觉到动画卡顿。
    当今用户为王,体验优先的时代,我们开发一个应用更应该站在用户的角度来考虑页面性能, 而要开发流畅的页面,提升Web页面的性能,更需要全方位的了解页面渲染中涉及的DNS、 HTTP、DOM解析,CSS阻塞,JavaScript阻塞等技术问题。

技术迭代中把握本质
近年来前端技术的爆炸性的提升,其中一个主要原因是Node.js的出现,其中技术是基于Chrome 的JavaScript引擎V8实现的。而Node.js的推进也为浏览器带来了页面渲染的更多性能的提升。

# 推荐阅读

MDN:浏览器的工作原理