文档章节

高性能网站建设读书笔记(2)Ajax

adamduan
 adamduan
发布于 2015/12/01 13:48
字数 738
阅读 32
收藏 1

理解Ajax性能

权衡

过早的优化是万恶之源--Donald Knuth

时间,质量,成本,三选二。(Project Triangle)

增量式开发(incremental development)

迭代式开发,瀑布式开发

大爆炸集成方式(big bang integration)

wiki(Interative and incremental development)

优化原则

优化的目的是希望降低程序的整体开销。

分析应用程序和分析算法密切相关。

在执行时间上有3条错误轴线,避免与错误轴线相交的方法:减少每次迭代的开销,减少迭代的次数,重新设计应用程序。

循环嵌套越多,可优化的选择越少。

必须正确地设计程序。程序不符合要求,运行速度很快也没有意义。

测试Web应用时尽可能模仿真实的用户环境,低端机器和低速网络来测试。

Ajax

重构代码能明显降低复杂性。

依据YSlow规则重构代码 http://developer.yahoo.com/yslow/

Ajax实现方式:发送数据包到服务端(通常是JSON文本),服务端返回另一个数据包(JSON编码)来响应,最后JavaScript用这些数据来更新浏览器的显示。

想通过Ajax方法对性能有积极影响,采取正确地分工至关重要。

数据包应该尽可能小。

常见的错误是把所有应用数据都发给浏览器,这会再次引入Ajax本应避免的延迟问题。这类错误也会增加浏览器需要处理的数据量,从而更加降低性能。

浏览器

使用Ajax库(如:http://developer.yahoo.com/yui/ )

运行程序最大开销往往是DOM而非JavaScript。

Wow!

程序设计者趋向于在Ajax中添加酷炫特效。

使用不当时,这些酷炫特效会由于分散用户注意力或强迫用户等待动画播放完毕从而降低他们的生产效率。

误用特效也会导致不必要的DOM操作,从而带来巨大开销。

酷炫特效只在确实能改善用户体验时才能使用

设计浏览器能胜任的事情。

JavaScript

通常情况下瓶颈不是JavaScript而是DOM。

感觉必须要重构脚本时,首先要评估。我们对于程序的真正开销的直觉往往是错的。只有通过评估,才有把握对性能产生的积极影响。

总结

一切都是权衡。不要浪费时间在那些消耗不大的代码上。

浏览器通常在运行JavaScript上花费的时间很少,绝大部分时间消耗在DOM上。

为质量编程。简洁、易懂且条理分明的代码更易于正确理解、维护和优化。

善加利用Ajax技术能使应用程序运行得更快,用好它关键是在浏览器和服务器之间建立平衡。



© 著作权归作者所有

共有 人打赏支持
adamduan
粉丝 10
博文 83
码字总数 8447
作品 0
大连
程序员
用骆驼祥子读书笔记来解答ZBLOG博客写作的3个技巧[图]

建设博客已经半年了,准确的说应该是7个月了吧,虽然没有取得什么好的进展,但毕竟一直在努力,主要是内容建设上比较麻烦,很难像大站一样获得大量的内容,这是非常头疼的问题。 总之,个人也...

原创小博客
07/11
0
0
读书笔记网写作六年比卢松松博客的3个差距[图]

读书笔记网是坚持了6年才有所成绩的博客网站,也是采用zblog系统写作的,因为在十年前,zblog可谓相当的有名气,那时候有著名的科技类月光博客,还有知名的互联网类卢松松博客,都是行业佼佼...

原创小博客
06/28
0
0
高性能网站建设指南 --读书笔记

性能黄金法则: 只有10%~20%的最终用户响应时间花在下载HTML文档上。其余的80%~90%时间花在了下载页面中的所有组件上。 规则1 减少HTTP请求 图片地图 CSS Sprite 合并脚本和样式表 规则2 使...

不是胖子
2013/02/02
0
0
网站建设笔记:为什么中小学生写读后感都上百家笔记网?(图)

网站建设笔记:为什么中小学生写读后感都上百家笔记网?(图) 一到寒暑假,所有的学生们都万的不亦乐乎,但是到了寒暑假尾期,大家又要开始写作业了,那么,为什么百家笔记网得到了广大学生...

原创小博客
07/31
0
0
《高性能网站建设指南》读书笔记

规则1-减少HTTP请求 请求网页时只有10%-20%的最终用户响应时间花在接收请求的HTMl文档上,剩下的80%-90%时间花在为HTML文档所引用的所有组建(图片,脚本,样式表,Flash等)进行的H...

吞吞吐吐的
2017/11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【转载】Linux升级安装GCC

https://itbilu.com/linux/management/V1vdnt9ll.html

goodman_fz
28分钟前
1
0
20.20 告警系统主脚本~20.22 告警系统监控项目

告警系统主脚本 main.sh内容 #!/bin/bash#Written by aming.# 是否发送邮件的开关export send=1# 过滤ip地址export addr=`/sbin/ifconfig |grep -A1 "ens33: "|awk '/inet/ {...

洗香香
31分钟前
1
0
07-利用思维导图梳理JavaSE-包与访问控制权限

07-利用思维导图梳理JavaSE-包与访问控制权限 主要内容 1.包的概念及使用 1.1.包的概念 1.2.包的作用 1.3.需要注意的问题 1.4.包的引用 2.系统常见包 2.1.java.lang包 2.2.java.io包 2.3.ja...

飞鱼说编程
32分钟前
0
0
【挑战剑指offer】系列02:替换空格

本系列的算法原题来自于“牛客网-剑指offer”,写这个板块,不仅仅是解决算法问题本身,更是手动提高难度、自行变式,思考更多的解决方案,以带给自己一些启发。 1. 【替换空格】原始题目 算...

LinkedBear
47分钟前
0
0
Win10内部更新:警告用户别用chrome和Firefox

简评:别和 Chrome 和 Firefox 约行不,我 Edge 明明更美、屁股更翘、更性感。。。 微软正在测试 Windows 10 的一个更新:警告用户不要安装 Chrome 和 Firefox。是测试人员发现的这个新警告,...

极光推送
59分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部