Diffable:一个胆大创新的Web性能优化概念

问题:

  • 频繁的文件修改导致每次都需要重新下载这些修改的文件。
  • 很小的改动都会导致缓存失效。
  • 富互联网应用(Rich internet applications)通常包含大量的静态资源文件。

方案:

  • 首先重缓存中申请资源。
  • 传输完成后用Deltas更新缓存版本。
  • 将浏览器端代码和Deltas合并生成最新的JS。

好处:

  • 配合缓存加快网页加载。
  • 用很小的代价完成大资源文件的小改动。

Diffable是一个通过传输浏览器端缓存文件与服务器端最新文件的差异(deltas)来加快网页加载的开源项目。它能自动比较静态文件各版本之间差异,避免重复下载那些未变化的代码,达到减少带宽传输、优化网页加载的目的。 详情 »

易让人忽视的JavaScript陷阱

从1996年网景公司第一次介绍JavaScript,这门语言自今已经有了10多年的历史了,随着互联网技术的发展,JavaScript也从诞生时只完成简单的表单验证发展成互联网上非常重要的一门语言,用它开发的网络应用已经五花八门,许多产品的功能已经接近了桌面产品。尽管JavaScript语言的重要性在不断的提升,可是它的语言内核基本上没有发生太大变化。

由于JavaScript这门语言在设计上有些地方存在缺陷,或者我们对一些技术点的理解不透彻,会导致编程过程中出现一些脚本语言层面的bug,这类bug往往非常隐蔽,要排查这类bug所花的时间往往也非常多。 详情 »

显示JavaScript函数调用堆栈的方法

许多大型的JavaScript应用程序间的函数调用关系是非常复杂的,在开发或者调试过程中,经常需要跟踪某个函数是由哪些函数调用后才触发执行的,弄清楚这些函数的调用顺序对我们理解代码的数据流向是非常重要的。

Firebug提供了console.trace()来显示函数堆栈,在需要调试的地方加上下面的一行代码就能显示该函数调用时的上下文关系。IE6就没有这么方便了,它没有提供显示函数堆栈的工具, 详情 »

编写高压缩比的JavaScript代码

网站发布前的JavaScript代码压缩是大部分Web前端工程师必做的一项工作,常用的JavaScript压缩工具有Dean Edwards写的JavaScript CompressorYUI CompressorClosure Compiler。本文中列出的编码原则是笔者在编程过程中总结出来的十条原则,这些原则适用于一般的JavaScript压缩工具,不适用于Closure Compiler的高级模式(由于Closure Compiler的高级模式过于智能,会用最优的方式重新组织代码结构)。 详情 »

第八期Web标准化交流会广州分会

上周末参加了广州的第八期Web标准化交流会,会议是在珠江新城的一家印度餐厅举行的。我非常荣幸的作为嘉宾和大家做了一个小时左右的分享,我分享的主题是“网站性能优化”,网站性能优化是一个非常大的范畴,开始做PPT的时候,我写的JavaScript性能优化,但在制作的过程中发现有些内容不属于JavaScript优化的范畴,而属于网站性能优化的范畴,所以就用了这个名字。PPT中是拿出来平时工作用到的几种优化方法做分享。本来林毅要我介绍一下YSlowPage Speed的用法,可我觉得这两个工具太常用了,也没有什么使用技巧好交流的 详情 »

下一页 »