随着移动设备的升级、网络速度的提高,用户对于 web 应用的要求越来越高,web 应用要提供的功能越来越。功能的增加导致的最直观的后果就是资源文件越来越大。为了维护越来越庞大的客户端代码,提出了模块化的概念来组织代码。webpack 作为一种模块化打包工具,随着 react 的流行也越来越流行。

webpack 在官方文档上解释为什么又做一个模块打包工具的时候,是这样说的:

The most pressing reason for developing another module bundler was Code Splitting and that static assets should fit seamlessly together through modularization.

开发一个新的模块打包工具最重要的原因就是 Code Splitting,并且还要保证静态资源也可以无缝集成到模块化中。其中 Code Splitting 是 webpack 提供的一个重要功能,通过这个功能可以实现按需加载,减少首次加载时间。

Service Worker 初体验
In Web开发 on 2016年01月06日 by view: 15,361
8

在 2014 年,W3C 公布了 service worker 的草案,service worker 提供了很多新的能力,使得 web app 拥有与 native app 相同的离线体验、消息推送体验。
service worker 是一段脚本,与 web worker 一样,也是在后台运行。作为一个独立的线程,运行环境与普通脚本不同,所以不能直接参与 web 交互行为。native app 可以做到离线使用、消息推送、后台自动更新,service worker 的出现是正是为了使得 web app 也可以具有类似的能力。