我不想再开一个"又一个Js VS Js"的讨论帖。
我猜,Prototype和jQuery最终都是JS,并且几乎具有相同的方法和函数,执行相同任务需要几乎相同的代码行数。
对于一个真正的富互联网应用程序,在Prototype和jQuery之间,哪些是真正的优势,哪些是弱点?
我不想再开一个"又一个Js VS Js"的讨论帖。
我猜,Prototype和jQuery最终都是JS,并且几乎具有相同的方法和函数,执行相同任务需要几乎相同的代码行数。
对于一个真正的富互联网应用程序,在Prototype和jQuery之间,哪些是真正的优势,哪些是弱点?
一开始我喜欢Prototype的想法,即使用新的或修改过的方法扩展元素。
然而,我发现了许多原因,这是一个“坏事(TM)”
如果你做一些搜索,你可能会找到其他一些原因,但主要原因是Prototype不能保证与其他框架或库“友好相处”,因为其他库期望元素和方法的行为是“标准”的,并由于Prototype做的事情,你可能会发现一些问题被它弄坏了。
我最近发现的一个例子是Prototype在JSON和stringify方面出了问题。我正在使用EasyXDM,在加载prototype.js库的某些情况下,它根本不起作用。因为我正在编写一个供“他人”使用的框架,因此无法控制页面内容,所以我需要在IFRAME中创建和执行所有操作,以确保诸如prototype.js之类的东西不会破坏我所做的事情。
...所以对我来说,jQuery是首选,因为我认为一个框架自动干扰DOM和javascript的标准行为是不正确的。你应该掌握这些事情,Prototype夺走了你的一些控制权...
absolutize()
方法)。但是,我认为它不是一个“默认”的框架,您可以随时使用,而jQuery和其他不太具有侵入性的库则非常安全(我特别喜欢.noConflict()
方法-所有我的jQuery内容都是使用$j
而不是$
完成的,通过使用window.$j = jQuery.noConflict();
)。 - Grazahash.html
或其功能的实现具有类似于//some.domain/some.script?page=easyXDMhash&someOtherValueName=someOtherValue
的URI),就会出现问题。话虽如此 - 虽然您的框架处理Prototype,但其他一些框架则不是(因此我仍然不喜欢Prototype的做法)。 - Grazahide
。后加载的库将覆盖前一个库的功能,导致前一个库无法按预期工作。在这种情况下,两个库都有责任。那么如果您已经认为Prototype不好,为什么要使用另一个不好的库呢? - JoJojquery tagged questions : 531,752
prototype tagged question : 2,465
更新于2014年9月22日,2011年12月14日时的数据:jQuery - 135,641条 / prototype - 2,327条
我目前正在重写应用程序的大块内容,从Prototype转移到jQuery。为什么?插件、插件、插件,尤其是UI小部件。Prototype UI元素相当零散且非常零碎,而jQuery拥有非常丰富的“标准”元素。
JQuery旨在使网页添加花哨特效变得容易。它已经达到了100%的成功率。
由于人们通常需要和要求从Javascript库中添加动画和偶尔的ajax调用,因此JQuery拥有庞大的社区。JQuery的座右铭是“我将添加一些闪光效果,并离开”,这正是我们开发者经常需要的。
然而,Prototype在大多数其他用例中表现出色。它具有稳定的基于类的OOP框架(统一解决继承构造函数等问题),以及一套良好的通用抽象来处理数据。
我选择jQuery而不是Prototype,因为:
没有哪一个是“最好的”。这都取决于具体情况。尝试使用它们两个,看看哪一个更适合您。我个人使用jQuery,因为它更易于使用,而Prototype则相对先进,学习曲线较长。
可以看一下:
这是一篇关于jQuery和MooTools的有趣文章(至少在这场争论中,MooTools和Prototype基本可以互换):http://jqueryvsmootools.com/
jQuery使用基于CSS语法的CSS样式选择器和过滤器。从设计角度来看,这有很多好处。我非常喜欢并精通CSS,所以个人而言,jQuery对我来说非常自然。如果您正在寻找一种语法,使得您的整体编码体验更加愉快,并且您是CSS的忠实粉丝/专家,可以肯定地说您会更喜欢jQuery而不是其他选择。我曾经上过基础的Prototype课程,让我感到无聊透顶。我刚刚在Lynda's完成了"jQuery基础教程",我非常喜欢它,因为它与CSS密切相关。我已经用原始JavaScript编程约10年了,我一直觉得它非常枯燥;对我来说,它是代码重复(投入产出比低)。尽管多年来它对我非常有用。从我目前所见,jQuery就应该是JavaScript从一开始就应该有的。但另一方面,改进需要大量的时间、测试和努力。所以,对我来说,jQuery胜出。
我对jQuery和Prototype都没有经验。作为一名资深ColdFusion开发人员和项目经理,我打算学习其中之一并将其添加到我的工具箱中。我认为,初学者会选择其中一个作为自己的首选,因为这反映了行业的采用情况,而我认为这是关键。
通过快速浏览和阅读一些教程,它们似乎都提供相同的核心功能。然而,从招聘信息和其他项目来看,jQuery似乎更受“需求”的欢迎,而不仅仅是可以使用的技能。对我来说,jQuery在采用和需求方面胜出,社区支持和文档也是加分项。没有任何反对Prototype的意思,如果某个项目由于先前存在而需要它,那么了解它也是很好的,因为有些开发人员选择了它作为他们研究的第一个库。