构建高效Ajax应用--简约之美

    Ajax应用需要一个完整的构建过程。构建过程的主要目的是提高Ajax应用的质量和性能,该过程主要包含以下几个步骤:
    1.JavaScript代码的潜在错误和代码风格检查。通过集成JSLint可以找到代码中潜在的问题。
    2.JavaScript文件的合并、缩减和混淆。通过合并可以把多个JavaScript文件合成一个,减少页面加载时的HTTP请求个数;通过缩减可以去掉JavaScript代码中多余的空白字符和注释等,从而减少文件大小,降低下载时间;通过混淆则是可以替换有意义的变量名称,从而进一步减少文件大小,同时在一定程度上保护代码免被反向工程。可以执行这些操作的工具有很多,Apache Ant就可以完成合并,JSMin和YUI Compressor可以完成文件的缩减,Dojo Shrinksafe可以进行混淆。
    3.CSS文件的合并和缩减。与JavaScript类似,CSS文件也可以执行同样的合并和缩减操作,从而减少HTTP请求数目和文件大小。YUI Compressor可以完成CSS的缩减。
    4.图片文件的压缩。通过对图片文件进行格式转换和压缩,可以在不损失质量的前提下,减少图片文件的大小。

    而内存泄露问题,一般来说需要注意下面几点:
    1.熟悉常见的内存泄露模式。最典型的是由于错误使用闭包造成的包含DOM节点的循环引用。打断循环引用就可以解决此问题。
    2.很大一部分内存泄露与DOM节点相关。尽量不要为DOM节点对象添加额外的属性,尤其是JavaScript方法。
    3.当内存泄露发生的时候,使用Drip等工具来找到发生泄露的节点并修正。

    Ajax应用的测试包含服务器端和浏览器端两部分。对于服务器端来说,测试的技术和工具都已经比较成熟。只需要根据服务器端采用的技术来进行选择即可。一个比较重要的原则是服务器端和浏览器端尽量实行松散耦合,以方便测试。从这个角度出发,服务器端返回数据,而不是HTML片段是更好的做法。可以通过工具来测试服务器端返回的结果是否正确。

   浏览器端的测试目前情况不是非常理想。已经有一些单元测试的框架,如QUnit, Dojo D.O.H等,也存在一些集成测试的工具,如DOH robot和Selenium等。就单元测试来说,目前对仅用JavaScript实现的纯逻辑代码较容易实现,而对于包含了与页面上节点交互的代码则较难实现。不管是单元测试还是集成测试,目前自动化程度都不是很高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值