Websphere Commerce V7 - 前端 - 用jQuery建议替换dojo

And*_*rod 1 dojo wcs websphere-commerce

我从头开始新的websphere commerce V7 Feature Pack 8项目.

除了性能之外,我的目的是建立一个易于维护的系统.

由于缺乏文档,臃肿和复杂性,我不是dojo的忠实粉丝.用jquery/requireJS/jquery ui替换dojo/dijit是最佳做法吗?或者只是坚持使用道场?

假设我选择dojo,我不喜欢将库混合在一起.将jQuery和dojo混合在一起会有任何冲突或性能问题吗?

如果你可以将两者混合在一起,你可以使用哪个UI库,dijit或者jQuery ui?websphere极光在dijit周围包含了很多功能,所以我猜dijit将是第一选择.

所有的建议将不胜感激!

Ken*_*iro 5

这个问题必然是主观的,但我不得不解决上述各点:

虽然完整的Dojo Toolkit源代码很大(主要是因为dojox),但它不必臃肿 - 它不像你被迫加载其中的几乎所有东西,你实际上只加载你需要的东西.构建系统还可以将大多数依赖项减少为两个JS文件(模块+ i18n软件包),而对于结构良好的应用程序(即使用主要顶层模块可以轻松确定依赖项),只需要很少的额外工作.

Dojo和Dijit的文档现在比几年前明显更好,因为它可能因此而声名狼借.除参考指南外,还有50多个教程.

与较小或较简单的库相比,Dojo看起来确实看起来很复杂,但是我并不认为它比任何比单个页面Web应用程序更复杂.事实上,我很快就会说你最终可能会遇到一些更复杂(而且维护性更!)的东西,如果你从一些能够提供更少灵活性的东西开始,然后发现你需要将所有东西拼凑起来填充缺口.

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

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

如果你觉得自己并不需要所有这些或者很自在地滚动自己,那么这取决于你,但要完成所有这些保持其凝聚力和可维护性是一项艰巨的任务,这就是Dojo给你的头脑-开始.

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

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

  • 原因1:因为绝大多数公共网站都是面向页面的,而不是面向应用程序的.Dojo在大型内联网Web应用程序中更常见,远离公众视线.jQuery更有可能用于登陆页面,新闻网站等,因为这些网站不是简单的DOM和XHR操作或OOTB组件所需的SPA. (2认同)
  • 原因2:因为jQuery很受欢迎.流行性驱动许多决策,理想情况下应通过对应用程序需求的深思熟虑的分析与工具包或库提供的东西进行分析.jQuery受欢迎的原因(几乎任何人都很容易接受并且被一些人视为"一种编写JavaScript而不需要知道JavaScript的方式")的原因*不是*你想用它来进行可扩展开发的原因大型应用. (2认同)