Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种 应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team,包括来自德国的Jörn Zaefferer,罗马尼亚的Stefan Petre等等。jQuery是继prototype之后又一个优秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。
Dojo是一个强大的面向对象JavaScript框架。主要由三大模块组成:Core、Dijit、DojoX。Core提供Ajax,events,packaging,CSS-based querying,animations,JSON等相关操作API。Dijit是一个可更换皮肤,基于模板的WEB UI控件库。DojoX包括一些创新/新颖的代码和控件:DateGrid,charts,离线应用,跨浏览器矢量绘图等。
选择dojo的理由
1.dojo是一个很好的基础架构。
它可以非常有效地分离页面中的Structure、Presentation、Behaviour,这对于实现Ajax组件unobtrusive的目标非常有帮助。
有人问:那么,同样是基础架构,你为什么不选择Prototype呢?
当然,Prototype对于开发一些Ajax效果也是非常有帮助的。但是Prototype的设计目标和dojo有很大的不同。
Prototype 的设计目标是扩充JavaScript的功能,使得可以以类似于Ruby的方式来编写JavaScript。 Prototype主要是对于JavaScript语言本身的一些底层的扩充,另外解决了一些跨浏览器的问题。但是Prototype还是太底层了,本身 提供的功能非常少,基于它来建造复杂的Ajax组件(例如,一个功能完善的Grid组件)仍然非常困难。
而Rico呢,仍然谈不上是一个框架,Rico和Scriptaculous都只是基于Prototype建造的Ajax效果库。 Rico的Live Grid太原始了,这也是我放弃Rico的一个原因,而且Rico这半年来就没有什么大的发展。
我并不是要否定Prototype,而是经过考察发现Prototype很难支持我的目标。我的目标就是建造一个全面的Ajax组件库,dojo恰好对于支持这个目标非常有帮助。
dojo其实是一个组件模型,类似于Spring,用来支持大规模的组件化开发。组件模型的作用就是增强代码的重用,这对于提高开发效率是至关重要的。
2.dojo的背后有强大的支持。
dojo现在已经是众多开源框架的选择,包括:
* WebWork
* Tapestry
* Eclipse ATF
* MyFaces
这个列表还会随着时间的推移而扩大。
dojo的开发团队由Alex Russell领军,人数众多,力量非常强大。
3.dojo的组件比较丰富,而且目前的开发非常活跃。
这里是一些组件列表,也可以在这里提出新的组件需求。
http://dojo.jot.com/WidgetWishlist
有一个正在开发的Grid组件,按照功能描述来看非常强大,值得高度注意。
http://dojo.jot.com/GridWidget
这样以来就可以减轻我们的大量沉重的工作。
3.web UI开发框架sencha
Sencha 是由 ExtJS、jQTouch 以及 Raphael 三个项目合并而成的一个新项目。
Prototype.js 是一个由Sam Stephenson写的JavaScript包。这个构思奇妙编写良好的一段兼容标准的一段代码将承担创造胖客户端, 高交互性WEB应用程序的重担。轻松加入Web 2.0特性。
Prototype 1.6.0 PDF 文档:http://globalmoxie.com/bm~doc/prototype-160-api.pdf
UIZE免费使用、支持移动设备、可CSS更换皮肤。Java (Apache TomCat), C# (IIS / ASP.NET), Visual Basic (IIS / ASP), C/C++, Perl (Perl / Apache), PHP, Ruby (Ruby on Rails), Python, 等等,无论服务器端何种语言,均可使用。具有大量的内置小工具,类似jQuery插件。