作者:Pingdom
时间:2008-10-04
来自:翻译
技术等级:
哪些JavaScript框架是最常见,使用最频繁的?
要回答这个问题,我们对大约200个美国主流网站进行了调研,检查他们是否使用了JavaScript框架?如果使用,那么他们选用什么样的框架?
在这里,我们选择检测的网站均源自于Alexa美国网站排名前100名和WebWare前100个WEB应用程式。而我们所检测的JavaScript框
架包括: Prototype, JQuery, MooTools, Yahoo! UI Library, Dojo, ExtJS 以及 MochiKit。
我们很快就发现, Dojo, ExtJS和MochiKit基本不被这些主流网站所采用。于是,我们就将目光锁定到了剩下的4款JavaScript框架上。
Prototype
Prototype是早期的JavaScript框架之一,而它也同时被应用到了Ruby on Rails框架之中。在所有检测的200个网站中,有13个网站采用Prototype作为其开发框架,包括:
- CNN
- The New York Times
- Digg
- Apple
- Veoh.com
- TypePad
- Fox News Channel
- Finetune
- iLike
- Last.fm
- Hakia
- YouSendIt
JQuery
Jquery框架因其库文件大小,速度以及丰富的模式化操作所带来的海量插件库,目前引起了大家广泛的关注。在所有检测的网站中,有11个网站采用Jquery框架作为其开发框架,这包括:
MooTools
与其他很多框架类似,Mootools包含了大量的函数和方法来协助其开发与拓展,这里面最著名的莫过于advanced effects组件了(advanced effects component)。在所有检测的网站中,有4个网站采用了MooTools:
Yahoo! UI Library (YUI)
这是一套Yahoo(雅虎)自行开发的JavaScript框架。雅虎不仅将其作为自己所属网站的JS开放框架,而且免费提供给其他人自由使用。在所有检测的网站中,有7个网站采用了 Yahoo! UI Library:
那些我们无法确定使用框架的网站
在检测的网站中,有不少网站采用了不止一个JavaScript框架,而是多个组合使用。而这就导致,用户必须不得不被迫下载所有这些框架库,但所用到的功能仅仅是这些框架的部分功能。这种情况无疑是可以避免的。
这部分网站将多种框架组合使用,可能是考虑希望使用每个框架中最精华的部分,也可能是在项目中期临时换掉了项目开始时所确定的那个JavaScript框架,他们还却没有来得及将所有代码进行整合统一。
这些使用多个JS框架的网站是:Digg (Prototype和JQuery), Bebo (MooTools和YUI) 以及YouSendIt (Prototype和YUI)。
总结
在本次检测中,Prototype似乎是最受主流网站欢迎的JS框架,而JQuery紧随其后。有趣的是,我们也看到有多个网站采用 Yahoo! UI Library框架作为他们的JS框架,这与我们当初的想象是有一定差距的。
本次对这些主流网站的JS框架检查,可能不是百分之百的真实的,因为我们仅仅检测了他们的网站首页上所使用的框架。并且,我们也没有注册登录这些网站进行检查,所有在数据上可能存在一定的漏洞。
我们是如何做检测的?
首先,我们列出Alexa上美国网站前100名和WebWare前100个应用程式;然后,我们利用一个特殊的小工具进行关键字检查以确定其网站使用的JavaScript框架。
比如,对于Prototype来说,我们会搜索“prototype.js” 和 “/prototype”字符串以确定网站是否使用prototype或它的修改版本(除非所有的类似“prototype”都被替换去除掉了)。
当然,我们也会手工查看工具所检查出的这些网站所使用的框架是否与实际相符。比如,我们就去除掉了那些仅适用了雅虎的CSS框架,而非JavaScript框架的网站。