Doloto on DevLabs

[原文地址]:Doloto on DevLabs

[原文发表时间] :Friday, September 04, 2009 10:30 AM by Somasegar

基于AJAX的互联网应用程序,成功地把丰富的用户体验带入互联网世界。但是,支持这些用户体验需要下载很多代码,应用程序的装载速度会变得很慢,并给服务器带来额外的负载。

今天,我们很高兴宣布名为Doloto的新工具,你可以通过MSDN DevLabs得到该工具。它可对复杂 的AJAX的互联网应用程序进行优化——通过减少初始下载量(initial download size),使得网页的响应速度更快。

Doloto会对AJAX应用程序本身的负载量/工作流程进行智能分析。根据分析结果,自动地把大型网络应用程序的现有执行代码进行分页。经过Doloto优化的应用程序,在被装载的时候,只会传送客户端JavaScript代码,这些代码是应用程序初始化所必需的。而该应用程序的其余代码则被替换成简短的代码存根(short stubs)。当这些代码存根被调用到的时候,实际的执行代码就会被按需下载下来(on demand)。有些时候,这些执行代码在运行前,也可能会通过后台被传送下来。这样一来,代码的下载和应用程序的执行交替进行。用户可以更快地开始和互联网应用程序进行交互,而无需等到全部代码都下载完毕。毕竟,不是所有的功能在一开始都会全部被用到的。

Doloto的工作原理

Doloto是一个独立的客户端工具。它具有向导界面,可以帮助你一步一步完成工作:

1. 首先,Doloto会对你的应用程序进行剖析(profile)。Doloto会在你的机器上,启动一个本地代理(proxy),拦截JavaScript文件,并指令它们去捕获每个JavaScript函数在运行时的时间戳。这些工作与使用的浏览器无关,是独立完成的。

2. 然后,剖析所得的数据被用来计算代码覆盖分布情况以及确定集群策略。根据计算结果,有些的函数将被替换成代码存根(short stubs),而有些则不会。被替换的函数会被进一步组合起来,成为一个集群。在同一个集群里的函数在需要的时候会被同时下载到客户端 。

3. 最后,Doloto会重写部分的JavaScript代码,并保存在磁盘上。稍后,你可以根据需要把它们上传到服务器端。剖析、分析、函数重组和重写等工作都是在你本地机器上完成,这一过程并不需要对服务器进行访问。这么一来,你可以对任意第三方网站上的JavaScript代码进行剖析和优化,而无需获得对它们的服务器进行特殊的访问权限。当你对优化的效果感到满意后,你就可以把重写过的文件上传递到服务器。

事实胜于雄辩,让数据说话

我们选取了数种AJAX互联网应用程序,针对不同的网络环境进行了测试。Doloto有效地把初始化所需下载的代码量减少了近40%,相应的,应用程序在客户端的启动速度,根据不同的网络情况,得到了30% 到40%不等的提升。下面这张图表清晰地显示了Doloto优化前后,几大著名网站的AJAX应用程序在初始化阶段所需下载的JavaScript代码的尺寸。

clip_image001

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值