Prototype与JQuery对比

09-08-12 banq
从时间上看,Prototype.js比Jquery早,国内占主流的是Jquery,个人认为可能是与国内AJAX比国外要落后一点,当然选择比较后出来、比较新的Jquery。

我个人是先从prototype.js入手,包括JiveJdon3.6版本都是基于它的,Jquery也一直关注,发现两者语法比较接近,prototype.js更接近Javascript风格,而Jquery设计上要简洁。

国外2007年有一篇文章对jQuery和Prototype做了比较:

Why I moved from Prototype to jQuery:

http://www.quarkruby.com/2007/11/6/why-i-moved-from-prototype-to-jquery

我认为JQuery主要优点是:Jquery是Behavior driven development (BDD)行为驱动开发。使用JQuery可以将html元素的行为从html中分离出来,实现所谓MVC J的模式,View是html,而J是Jquery.

至于文中提到的其他Jquery优点,prototype.js也有,比如Chain:

Jquery:

$("div.message").show()

.append("<p>Action has been executed successfully")

.addClass("flash");

prototype:

$$('input.date')

.invoke('observe', 'focus', onFocus)

.invoke('observe', 'blur', onBlur)

chain用法虽然简单,但不容易懂。

在下面这篇文章中,作者指出如何更加精炼简单地使用Prototype:

http://thinkweb2.com/projects/prototype-checklist/

比如常见的AJAX语法:

不带参数:new Ajax.Request('blah.php')

带参数:new Ajax.Request('ninja.php', {

parameters: {

weapon1: 'foo',

weapon2: 'bar'

}

})

获得某个字段的值:var woot = $F('bar')

修改某个字段的值:$('coolestWidgetEver').update('some nifty content')

设置CSS:

$('footer').setStyle({

height: '100px',

background: '#ffc'

})

最著名的争论是2007年的Prototype and jQuery: A code comparison

http://ajaxian.com/archives/prototype-and-jquery-a-code-comparison

使用PPT将两者做比较,讨论者无数。

不过,Prototype 有一个著名的windows效果简称PWC(Prototype Window Class):

http://prototype-window.xilinus.com/

至今没有在Jquery中发现类似替代,特别是这个页面的效果:http://prototype-window.xilinus.com/PWC-OS/index.html

号称可以替代PWC的JqModel:

http://dev.iceburg.net/jquery/jqModal/#examples

窗口效果比PWC要差多,PWC简直可以媲美Windows桌面效果,本论坛就是用的PWC效果。

有人说:基于Prototype更适合做一些应用框架库;而Jquery则是直接面向应用的,比较赞同。

[该贴被banq于2009-08-12 14:44修改过]

                   

1
banq
2009-08-13 18:15
jQuery vs MooTools

jQuery与MooTools对比

http://jqueryvsmootools.com/

跨jQuery, Mootools, YUI and Prototype的框架carousels

http://webtoolkit4.me/2009/08/14/riding-carousels-with-jquery-mootools-yui-and-prototype/

[该贴被banq于2009-08-14 16:49修改过]

banq
2009-08-30 08:23
Dojo vs. Ext.

不选择JQuery, Prototype and Scriptaculous因为他们有各自的特长用处。

从下面几个方面进行比较

1.Confirmation Dialog

2.JSON parsing and handling

3. The Learning Curve学习门槛

4.Playing well with others

5.成熟度

6.Licenses

结果 Dojo 获胜

猜你喜欢