0

我正在从头开始一个新的 websphere commerce V7 Feature Pack 8 项目。

除了性能之外,我的意图是拥有一个将来易于维护的系统。

由于缺乏文档、臃肿和复杂,我不是 dojo 的忠实粉丝。用 jquery/requireJS/jquery ui 替换 dojo/dijit 是最佳实践吗?还是只坚持道场?

假设我使用道场,我不喜欢将库混合在一起。将 jQuery 和 dojo 混合在一起会不会有任何冲突或性能问题?

如果您可以将两者混合在一起,您会选择哪一个 UI 库,dijit 还是 jQuery ui?websphere aurora 围绕 dijit 封装了很多功能,所以我猜 dijit 将是首选。

所有建议将不胜感激!!!

4

1 回答 1

5

这个问题必然是主观的,但我不得不回答你上面的每一个观点:

虽然完整的 Dojo Toolkit 源代码很大(主要是因为 dojox),但它不必臃肿 - 并不是说​​您被迫在其中加载几乎所有内容,您实际上只加载了您需要的内容。构建系统还可以将您的大部分依赖项减少到两个 JS 文件(模块 + i18n 包),而对于结构良好的应用程序(即具有可以轻松确定依赖项的主要顶级模块)的额外工作很少。

Dojo 和 Dijit 的文档现在比几年前要好得多,当时它可能因此而声名狼藉。除了参考指南,还有超过 50 个教程

与不打算做那么多的更小或更简单的库相比,Dojo 肯定看起来很复杂,但我不会认为它比大型单页 Web 应用程序需要的更复杂。事实上,我会更早说,如果你从给你的灵活性要低得多的东西开始,然后发现你需要把东西拼凑在一起来填充,你最终可能会得到更复杂的东西(并且更不容易维护!)缺口。

Dojo 提供了一个内聚的工具包,包括以下开箱即用的工具:

  • 模块依赖系统(支持 AMD,RequireJS 实现的同一个标准)
  • 强大的继承和混合功能dojo/_base/declare
  • 中基于 Promise 的直观 XHR API dojo/request,可以通过以下方式增强/扩展dojo/request/registry
  • 支持使用dojo/i18n!插件本地化您的应用程序
  • Dijit 中完整的可样式化和可访问小部件库
  • 内聚的数据 APIdojo/store

如果您觉得自己不需要所有这些,或者自己也很自在,那么这取决于您,但完成所有这些保持其凝聚力和可维护性是一项艰巨的任务,这正是 Dojo 为您提供的-开始。

关于使用哪个 UI 库,虽然我不能说我已经广泛使用 jQuery UI,但我至少会说,如果完全关心可访问性或灵活性/可扩展性,我会在一周中的任何一天选择 Dijit .

对于您关于同时使用 Dojo 和 jQuery 的问题,Dojo 通常不会妨碍其他库。其他一些较旧的库喜欢向本机原型添加可枚举属性,这可能会在 Dojo(以及其他任何人的代码)中抛出不受保护的 for...in 循环,但 jQuery 不会这样做。此外,jQuery 支持作为 AMD 模块加载,因此您甚至可以将它与 Dojorequiredefine.

于 2015-06-03T03:21:50.853 回答