【发布时间】:2010-09-13 11:23:15
【问题描述】:
我一直在使用各种 javascript 框架,包括 mootools、jquery、prototype 和 scriptaculous,发现它们都很好,但很难扩展到更复杂的想法。
如果我要认真学习一个,哪一个是最简单的扩展和使用,同时又足够强大,可以在各个方向使用?
【问题讨论】:
-
您发现原型难以扩展?这很奇怪!
标签: javascript frameworks
我一直在使用各种 javascript 框架,包括 mootools、jquery、prototype 和 scriptaculous,发现它们都很好,但很难扩展到更复杂的想法。
如果我要认真学习一个,哪一个是最简单的扩展和使用,同时又足够强大,可以在各个方向使用?
【问题讨论】:
标签: javascript frameworks
注意:这个答案是 Angular/Ember/etc 之前的。所以解决了一个过时的问题。
我教这些东西,而且真的别无选择,只能专注于 JQuery,因为业内大多数人已经“选择”了它(我知道,这并不总是一个很好的理由),而且还因为 - 对于那些已经知道一些 CSS - 入口点较低。
我也使用过 Mootools(我的第二选择),但一位同事说服我使用“可编程性”参数切换到 JQuery - 我发现它更易于编码和理解。 JQuery 社区、在线文档、free online books 和 third-party sites 也有帮助。
【讨论】:
另见(其他相关问题):
【讨论】:
我建议使用 jQuery。
我将向您介绍我的团队昨天为高级管理层所做的演示文稿中的一些主要论点,以说服他们相信这一点。
原因:
社区接受。看this graph。它显示了从 2004 年到 2008 年对“prototype”、“yui”和“scriptaculous”的搜索量增长。然后在 2006 年,“jquery”的搜索量突然增加了一倍。社区实际上正在集中在一个领先的产品上,那就是 jQuery。
jQuery 非常简洁易读。我进行了一个实验,其中我使用 YUI 编写的现有代码(随机选择),并尝试用 jQuery 重写它。它是 jQuery 的 1/4。这使得它的编写简单 4 倍,维护简单 4 倍。
jQuery 与 Web 世界的其他部分很好地集成在一起。使用 CSS 语法作为选择项目的关键是一个绝妙的技巧,它有助于将高度不同的 HTML、CSS 和 JavaScript 世界融合在一起。
文档:jQuery 拥有出色的文档,每个方法都有清晰的规范和工作示例。它有优秀的书籍(我推荐“jQuery in Action”。)唯一匹配它的竞争对手是 YUI。
活跃用户社区:Google 群组是 Prototype 的主要社区讨论论坛,拥有近 1000 名成员。 jQuery 的 Google 组的成员数量是其 10 倍。我个人的经验是,社区往往会有所帮助。
简单的学习曲线。 jQuery 很容易学习,即使对于有设计经验但没有编码经验的人也是如此。
性能。查看由 mootools 发布的 this。它比较了不同框架的速度。 jQuery 并不总是最快的,但在每次测试中都相当出色。
与其他库配合得很好:jQuery 的 noConflict 模式和核心库的小尺寸有助于它在已经使用其他库的环境中很好地工作。
旨在使 JavaScript 可用。循环是 JavaScript 的一大痛点。 jQuery 使用你几乎不需要编写循环的集合对象。 JavaScript 最大的优势在于函数是一流的对象。 jQuery 广泛使用了这个特性。
插件。 jQuery 旨在让编写插件轻松。那里有一个庞大的社区编写插件。您想要的任何东西都可能在那里。查看 this 或 this 之类的视觉示例。
我希望你觉得这很有说服力!
【讨论】:
Prototype。简单、不显眼,并使您的 javascript 代码看起来比以往更简洁。
它有一个wonderful user group,在那里您几乎可以立即回答您的问题
【讨论】:
在我看来,jQuery 非常强大和简单。它使用 CSS 选择器语法来拉回元素,并且只在全局命名空间中添加了两个函数:jQuery() 和 $(),它是 jQuery() 的别名。
有大量可用于 jQuery 的插件,让您可以创建幻灯片、手风琴控件、丰富的日历等。“jQuery In Action”一书是在线参考资料的绝佳伴侣。
我们在我的上一个项目中使用它来创建一个相当丰富的调度工具,我们非常喜欢它,我们鼓励整个咨询公司采用它作为所有 JavaScript 使用的事实上的标准。你可以在http://www.stanleysteemer.com查看结果
【讨论】:
又一票给 jQuery。它体积小,专注,但非常强大。根据 JS 库的(通常很糟糕的)标准,它也有合理的文档记录。
一旦你熟悉了语法,它也很容易扩展。
【讨论】:
jQuery 是我的最爱
【讨论】: