关于JQuery for Rails的Prototype的争论?

时间:2010-08-30 02:56:44

标签: jquery ruby-on-rails prototypejs

我之前从未使用过Prototype。

但是现在当我使用Rails时,在我看来它不仅操纵DOM / Ajax而且还操纵语言本身。

示例:http://api.prototypejs.org/language/hash/

很久以前我使用过jQuery,但我记得框架没有这些功能吗?

对于Rails开发人员来说,这是一个很好的功能,在Javascript端具有相同的语言约定吗?

分享您的想法Rails开发人员!

2 个答案:

答案 0 :(得分:1)

与其他框架相比,jQuery几乎只适用于DOM操作。而其他的则是为您提供物品框架。

您在问题中提到的Hash对象与任何javascript对象具有相同的功能。 MooTools和Prototype喜欢给它们特殊的名称(出于一些很好的理由 - 因为扩展Object原型会导致很多代码在没有hasownproperty检查的情况下使用时会掉下来。)

一个人是否适合项目取决于你,这完全取决于偏好。 MooTools和Prototype是关于扩展Javascript语言的。而jQuery是关于创建具有相同功能的超级对象。这就是为什么jQuery有很多插件,为什么$.fn被用于大多数插件,而不是使用原型 - 可能为什么jQuery对于初学者来说更容易(他们不必知道javascript是如何工作的)。

你可以在一个框架中做任何事情,你可以做另一个框架,因为没有什么能阻止你自己做,或者从你喜欢的MooTools中添加一些东西到jQuery中。

答案 1 :(得分:1)

开发人员使用原型的唯一理由是因为有一个prototypescriptaculous helper可以让你摆脱为dom操作编写javascript。但是,如果你想要原型和scriptaculous帮助器之类的东西,你总是可以jRails。但是这个论点现在非常无关紧要,特别是对于Rails 3,因为你真的想要一种不引人注目的方式去做。

除此之外,我找不到令人信服的理由在rails中使用原型,因为它更慢并且破解了javascript原生函数。