ParaofHeaven

A statistics blog by Para Yong, Leo Gan, and Schaefer Jian

关于网页缓存的一些实践[翻译]

In parahome on 2015-05-19 by para

前言:

在8年之前,Yahoo团队曾经对网页中的缓存做了比较详尽的研究,但是随着互联网的高速发展,研究数据发生了一些变化。这篇文章主要是Facebook的web团队对现在缓存情况一些数据收集和研究。包括PC和移动端资源被缓存的时间以及资源在存在的时间。网页缓存是性能优化很重要的因素,值得一读。

使用模块化编程库和闭包

In parahome on 2015-04-11 by para

1 问题及方案

后台js代码规范度不好,怎么写的都有,不易维护、复用度低,我们不期全部使用backbone做到前端MVC,但使用模块化编程库做到模块化开发还是简单而有意义的。

2 为什么要模块化

时至今日,把脚本放在页面的底部,已不再是最佳的解决方案,甚至事与愿违,转化为性能的毒药。出于种种的原因,我们几乎从不直接在页面上插入js脚本,而是使用第三方的加载器,比如seajs或者requirejs。加载模块的概念,如果你是后端开发工程师,更不会陌生。Java、Python、C# 等等语言,都有includeimport等功能。JavaScript 语言本身也有类似功能,但目前还处于草案阶段,需要等到ES6 标准得到主流浏览器支持后才能使用。 模块化编程是十分便捷的工程管理工具,简化了代码的结构,让文件的功能变得单一易维护复用度高。更重要的是管理了文件依赖和消除了命名冲突问题,并利用 AMD / CMD 规范统一了格式。如果工具提供了异步加载,还可以避免页面停止渲染被js阻塞。