性能是一个网站成功的关键,然而,如今日益丰富的内容和大量使用
Ajax
的Web
应用程序已迫使浏览器达到其处理能力的极限,这就迫使我们需要一些技术来优化我们网站的性能!我相信已经有不少人看过了Yahoo
出品的,震惊Web
开发界的,雅虎14
条军规了,但我们频繁地看见这类的文章,却很少实践。
该优化什么?主要可以分为三个部分:
1.javascript
现在的网站几乎都有它的影子,它如此重要,我们必须好好利用它!js优化又包括:
a.
查询优化b.
循环优化c.
字符串拼接,类型转化优化d.
语句优化e.
DOM操作优化,事件代理d.
算法优化f.
内存优化g.
可维护性优化h.
ajax缓存i.
加载优化....
2.网络
要不是宿舍2M的小水管宽带,打开网页老半天,我也不会管这些优化。毕竟中国宽带网速还在龟速发展,坐等李克强总理把那些电信商们都搞定!这里的网络优化也包括了对服务器和静态资源等的优化,现在还是看看如何让我们的网页更快的打开吧:
a.
缓存技术b.
负载均衡c.
压缩d.
优化协议(HTTP,TCP/IP)e.
CDN
我也不知道还有什么,后面慢慢补充吧 ...
3.浏览器
浏览器有什么功能?显示咯,点击咯,缩放咯,滚动咯。一个浏览器至少实现三个常驻线程:javascript引擎线程,GUI渲染线程,浏览器事件触发线程,而计算机分配给web浏览器的可用内存数量较少,因此我们需要减少引起浏览器内存增加的操作!如何优化?
a.
渲染优化b.
减少repaint/reflowc.
函数节流d.
CSS优化...
暂时先给定这些,细节的后面补充。。。
如何权衡优化?优化原则?
优化的目的是希望降低程序的整体开销。虽然在程序中有许多因素可以优化,但通常人们会认为这个开销就是程序的执行时间,其实我们更应该将重点放在对程序整体开销最大的那个部分。
假如:我们通过性能分析得到程序的4个模块的开销:
我们得明白,即使能以某种方式使模块B的开销减少一半,其实也只是降低整体开销的2%。如果能将模块A的开销减少10%,却会得到更好的效果,所以优化那些开销不大的组件收效甚微。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。