一、本文仅简单从页面测试结果分析各种框架的性能,并不表示测试结果最好的框架就是最佳的框架,毕竟当中涉及许多方面的因素,也欢迎大家参与讨论。
二、本文测试中的所有例子取自《客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较》,其中只将当中的Anthem.net版本从1.3.2替换为1.4.0版本,对本测试结果有疑问的朋友可以自行到上文提到的文章中下载源代码进行测试。另外由于测试软件及对比方式的不同,本文与Dflying Chen 的《客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较》一文中的测试结果没有可比性。
三、测试软件:Fiddler 测试平台:Winxp+IIS5+.NET2.0 浏览器:IE7.0正式版 测试次数:三次,其中三次得到的测试数据皆没有变化。
根据例子测试的数据如下:
1.页面首次加载时的数据对比: | |||
数据类型/框架名称 | Asp.net Ajax | Anthem.NET | Ajax PRO |
Bytes Sent | 547 | 546 | 544 |
Bytes Received | 4,328 | 1,525 | 1630 |
2.按下Get Server Time按键并执行服务端方法时的数据对比: | |||
Bytes Sent | 541 | 715 | 596 |
Bytes Received | 260 | 365 | 278 |
3.其它一些方面的对比: | |||
页面生成脚本总计 | 320,211 | 22,484 | 23,962 |
对ASP.NET的适用性 | 好 | 好 | 普通 |
*Byte Sent:客户端发送的数据量 Bytes Received:客户端接收的数据量 以上数值以Bytes为单位。
分析结果:
1.加截页面时三大框架发送的Bytes基本一样,但接收的数据量asp.net ajax达到4328bytes,比其它两个框架大了好几倍,其中Anthem.net表现最好,仅为1525bytes。
2.当按下页面Get Server Time按键并执行服务端方法的时候,Anthem.Net发送的数量达到715bytes,明显比其它两个框架多,而接收数据量也比其它框架多了100bytes,其中表现最好的是asp.net ajax分别为541bytes和260bytes。
3.另外,我将生成的页面另存为文件之后查看其文件夹下生成的脚本,发现最少的是Anthem.net仅为22484,而Asp.net ajax生成的脚本比其它两个框架大了十倍以上。
4.从asp.net适用性来看,Asp.net ajax是微软为Asp.net量身订造的,使用方便性自然不用多说了,Anthem.net也是针对Asp.net开发的一个框架,使用性方面基本和Asp.net ajax一样方便甚至一些方面会更好一点(详细会从下一篇试用手记里作一个对比),Ajax Pro对ASP.NET适用性方面则稍为逊色。
从以上可以看出,可以看出,Anthem.NET在实现一些简单功能,比如例子里的执行服务端方法的综合性能是最好的,虽然执行服务端的方法所发送及接收的数量都比其它两个框架要稍多一点,但其它方面却都比其余两个框架要好一些。当然这个结论是针对本文所用到的测试方法,毕竟当中涉及更多方面,比如应用范围、技术支持、稳定性、流行程度等因素。就个人来说,ASP.NET平台下最专业的开发框架是ASP.NET Ajax,毕竟拥有微软这个技术巨头的支持,但Anthem.NET也是除Asp.net ajax以外的一个上上之选,而且作为开源项目也有着更多的扩展性。