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 支持的完全可换肤/可扩展的小部件(dijitdojox 中还有更多) 一致的数据 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.6Dojo 一样成熟,而自从我开始使用 ZF em> - 始终关注项目的需求以及每个项目中如何/实现哪些功能。

【讨论】:

以上是关于jquery 是不是取代了对 dojo 的需求?的主要内容,如果未能解决你的问题,请参考以下文章

Dojo 是不是有等效于 jQuery.trigger() 的功能?

Process Cube 是不是消除了对 SSIS 的需求?

SPDY 协议是不是消除了对无 cookie 域的需求?

如何使用 Dojo 读取 JSON 文件

Dojo 相当于 jQuery $('html')

dojo和jquery混合使用