jquery 是不是取代了对 dojo 的需求?
Posted
技术标签:
【中文标题】jquery 是不是取代了对 dojo 的需求?【英文标题】:Does jquery replace the need for dojo?jquery 是否取代了对 dojo 的需求? 【发布时间】:2010-12-28 17:37:15 【问题描述】:我正在使用 php Zend 框架开始一个新项目。
现在jquery已经相当成熟了,是不是不再需要dojo了?
我并不是说这是一个意见问题。一个有效的答案可能是它们仍然是可行的。
谢谢!
【问题讨论】:
【参考方案1】:取决于您的需求。如果您只需要 XHR 和 DOM 操作,您可能可以选择任何知名的库。但是,如果您正在寻找超出此范围的内容,Dojo 会为您提供。 jQuery...不是,真的(至少不是没有四处寻找插件,然后你就进入了 YMMV 领域)。
每当有人问这样的问题时,我总是将他们引向 Rebecca Murphey 的优秀博客文章,其中指出 jQuery 并没有真正考虑哪些事情:
http://rmurphey.com/blog/2010/08/09/on-jquery-large-applications/
Dojo 提供的一些 jQuery 没有 OOTB 的示例:
模块化和依赖管理系统 RequireJS 在 jQuery 用户中很受欢迎;有趣的是,它现在是 Dojo Foundation 项目,其模块格式也将在 Dojo 1.6 中使用。 继承框架 (dojo.declare
)
具有 WAI-ARIA 支持的完全可换肤/可扩展的小部件(dijit
,dojox
中还有更多)
一致的数据 API(供数据密集型小部件使用,例如 Select、ComboBox、FilteringSelect 和 dojox.grid
)
Pub/sub 框架,用于跨应用程序进行通信,而不必直接将不相关的组件绑定在一起
Dojo 维护者 Peter Higgins 实际上编写了一个插件来将这个和其他一些 Dojo 细节带入 jQuery;可以在这里找到:https://github.com/phiggins42/bloody-jquery-plugins
哈希支持(dojo.hash
自 1.4 起)
http://benalman.com/projects/jquery-bbq-plugin/ 是一个相当不错的 jQuery 插件来实现这个功能。
构建脚本,用于滚动您自己的 Dojo 自定义构建,其中包含您应用的所有依赖项的层合并到一个脚本中。
【讨论】:
【参考方案2】:您不一定可以进行一对一的比较。 Dojo 真的是一个不同的野兽......它的架构更加完善,因此使用起来并不那么简单,但是通过这种简单性的权衡,您可以获得更健壮和编程可扩展的 JS 框架。
我个人不是 Dojo 的忠实粉丝,因为我通常不开发 JS 应用程序,例如 GMail 或其他类似的应用程序。我认为这是 Dojo 真正闪耀的背景。但是,如果您只需要添加一些 ui 小部件并操作 DOM,我认为 jquery 是更好的选择。
直接回答您的问题:不,jQuery 确实使 Dojo 的需要变得更少或更多。而在我看来,jQuery 1.2.6 和 Dojo 一样成熟,而自从我开始使用 ZF em> - 始终关注项目的需求以及每个项目中如何/实现哪些功能。
【讨论】:
以上是关于jquery 是不是取代了对 dojo 的需求?的主要内容,如果未能解决你的问题,请参考以下文章
Dojo 是不是有等效于 jQuery.trigger() 的功能?