发展过程
- 应用程序web化
- 随着云计算的普及和HTML5的发展,越来越多的应用转向 浏览器/服务器 的架构,浏览器的重要性与日俱增
- web应用移动化
- 对于移动端设备应用,web天生有开放的基因,虽然在技术层面还有问题尚待解决(比如,渲染流程过于复杂且性能不及原生应用、离线时用户无法使用、无法接收消息推送、移动端没有一级入口),但 Google 推出了 PWA 方案来整合 Web 和本地程序各自的优势。
- web操作系统化
- Web 操作系统有两层含义:一是利用 Web 技术构建一个纯粹的操作系统,如 ChromeOS;二是浏览器的底层结构往操作系统架构方向发展,在整个架构演化的大背景下会牵涉诸多改变.
- 如:
- Chrome 朝着 SOA 的方向演化,未来很多模块都会以服务的形式提供给上层应用使用;
- 在浏览器中引入多种编程语言的支持,比如新支持的 WebAssembly;
- 简化渲染流程,使得渲染过程更加直接高效;
- 加大对系统设备特性的支持;
- 提供对复杂 Web 项目开发的支持。
学习浏览器工作原理的好处
- 可以准确的评估web开发项目的可行性
- 从更高维度去看待网页
- 站在用户体验的角度去考虑页面性能
- 当用户请求一个网站时,如果在 1 秒内看不到关键内容,用户会产生任务被中断的感觉。
- 当用户点击某些按钮时,如果 100ms 内无法响应,用户会感受到延迟。
- 如果 Web 中的动画没有达到 60fps,用户会感受到动画的卡顿。
- 站在用户体验的角度去考虑页面性能
- 把握技术本质
- Node.js 是前端发展的一个核心推动力,是基于 Chrome 的 JavaScript 引擎 V8 来实现的,它的特点是可以脱离浏览器环境来执行 JavaScript
前端技术演进
等到核心技术足以支撑核心需求,那么前端生态会进入一个相对稳定的状态。
- 脚本执行速度问题
- 不断修订和更新语言本身,如ES6等新规范
- 使用新的语言,如
WebAssembly
- 前端模块化开发
- WebComponent标准
- shadow DOM
- HTML Template
- WebComponent标准
- 渲染效率问题
- 避开常见的渲染缺陷
- 下一代布局方案LayoutNG
- 渲染瘦身方案Slim Paint