我应该从原型移动到jquery吗?

最后我一直觉得jQuery正慢慢成为JS库中的事实标准(我可能错了!),或者至少比其他框架更活跃。

例如,我一直在寻找像Componente这样的优秀开源日历,并找到了基于jQuery的http://fullcalendar.vinsol.com/ 。

我们一直在使用Prototype来处理非常小的事情,例如它的选择器function( $ function作为document.getElementById的快捷方式,主要是),在页面加载时执行一些JS并发出一些非常简单的Ajax调用。

所以我认为迁移应该是非常直接的,但我想知道从Prototype迁移到jQuery的优点/缺点。

另一方面,我想将两者放在一起并不是一个好的选择,特别是考虑到迁移应该非常简单。 我对吗?

编辑:一些有用的资源:

  • 您将如何将站点从Prototype切换到jQuery
  • jQuery和Prototype Conflict
  • 从原型转换为jquery
  • http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

Prototype和JQuery涵盖了非常相似的领域。 我已经使用Prototype作为我的主要JS框架多年专业,我正在迁移到JQuery。 原因如下:

  • JQuery 更快 。 Prototype在我见过的所有性能比较中都排在最后(随机选择这里 )。 我也有一种长期的主观印象,即Prototype的整体效果较慢,特别是在旧机器上。

  • JQuery似乎更受欢迎,不仅如此,还有Stack Overflow。 这意味着更容易获得支持,可用插件和现成代码的数量要大得多。 这不是我的主要原因,但再加上总体印象是jQuery是技术上更合理的平台,选择变得明显。

我唯一不喜欢的是:

  • JQuery代码看起来很糟糕。 我非常喜欢JQuery及其哲学,但我经常讨厌查看代码。 如果有人想出一个JQuery的方言,看起来像普通的JavaScript一样漂亮和结构化,我很乐意加入。 🙂

评论:关于我不喜欢jQuery的编码风格的其他说明。

一句话:括号。 成千上万的人:)

说真的。 我意识到许多被认为是“jQuery风格”的东西都是完全可选的快捷方式和缩写。 尽管如此,从代码可读性和可维护性的角度来看,我发现大量的jQuery代码更难以阅读和进入。 是的,随着jQuery体验的增长,这将变得更加容易,但是,我希望我的代码即使对于一个完全的局外人也是可读的。 关于这一点,jQuery没有走向正确的方向IMO。 大部分代码都很丑陋。 到目前为止,这是我对这个伟大框架的唯一主要批评。

虽然链接方法,@ noah,以及新的.delay()类的东西,或者它的名字是什么,我认为完全摇滚。 我不反对任何反对意见。

据我所知,Prototype和jQuery大多重叠,除了jQuery主要关注DOM操作,ajax,事件等,并没有真正具有Prototype所具有的一些function,如类,inheritance等。但是,如果你不需要这些东西,并且只想要一个跨浏览器DOM操作,ajax,事件等的框架,那么我认为jQuery是要走的路。

你可以一起使用它们。 只需调用jQuery.noConflict(); 在jQuery加载之后。 然后你将不得不写jQuery("whatever")而不是$("whatever") 。 Prototype提供了许多jQuery不具备的function。

然而,Prototype正在走出困境。 jQuery现在是王道,并且有一些很好的理由。 如果你想要最新的插件和小部件,jQuery将拥有它们。

Underscore.js提供与Prototype相同的大部分function,同时不会弄乱对象原型和全局命名空间。 Underscore和jQuery应该很容易从Prototype迁移。

直接回答你的问题:是的,你应该转换。 是的,你是对的。

我知道你说你不喜欢括号……你能提供一些你认为很漂亮的原型代码片段(我会用jQuery-itize来比较)吗?

自2006年以来我一直在使用Prototype,我回应了Pekka对丑陋代码的感受。 原型更优雅。

我一直是Prototype(+ Scriptaculous)社区的坚定支持者,但令人遗憾的是,Prototype正在失去思想共享和市场份额。 职业生涯可以建立在了解jQuery之上,而不是基于Prototype。

似乎jQuery人们似乎更乐于使用插件,而不知道它们是如何工作的,而Prototype人似乎是更加核心的程序员,并倾向于构建他们自己需要的东西。

话虽这么说,我转向jQuery并不是那么痛苦。 function大致相同,只是名称不同。 有更多的文档和示例代码可用,使其更容易上手。

框架是移动目标,有时在速度和function方面相互跳跃。 一切都在继续改善。 说X比Y好,会随着时间的推移而改变

我认为Prototype的保存优雅可能是Scripty2 。 这是一个使用Prototype的惊人的新动画引擎。 如果这种情况发生(并且进入市场,甚至不在Beta中),可能会对Prototype产生兴趣。 除此之外,我认为它总会有它的支持者,但会逐渐消失。

如果你关心另一份工作,可能会转向JQuery。 如果你关心美丽,直观的JavaScript棒与prototoype – 它不会消失!

我认为微软已将其集成到ASP.NET Ajax框架中的事实说明了jQuery的世界。 我现在的雇主去年对其进行了标准化,我可以找到更多的职位发布,专门要求jQuery和任何其他图书馆。

我想你应该。 我虔诚地使用jquery,而且我不是Javascript Pro。 我认为它的易用性是它最强大的function之一。