gQuery 不是一个框架,只是一个实用程序库,它为 Gwt java 添加了糖语法,因此您可以使用流行的 jQuery API 处理 DOM。它还添加了一些实用程序,如 Promises、Easy Ajax、Json 和 Xml 数据绑定等。
说,gwtquery 的最佳实践可能是:
- 在 GWT 中选择您更满意的最终架构。您可以使用 GWT 普通小部件,或 GWT MVP、GWTP、MGWT、GXT、Vaadin 等。
- 使用 gQuery 为某些任务编写更少的代码
- 如果您必须解析 JSON 或 XML,请不要使用 gwt,而是使用 gQuery 构建器
- 如果您必须使用 3 方服务或您的应用程序不使用 rpc 或 rf,请使用 gQuery
Ajax
而不是处理RequestBuilder
.
- 如果您有非常嵌套的异步代码,请改用 gQuery
Promises
。
- 对于拖放使用 gquery DnD 插件
- 要快速向控制台写入内容,只需使用即可
console.log
,而不必配置 gwt 记录器。
- 为了避免按排列延迟绑定的样板,只需使用
if (Browser.isIE) ...
并利用代码删除。
- 要在编译的输出中包含外部 JS,请使用
JsniBundler
- 要使用外部 JS 方法,请仅使用
JsUtils
gQuery
- 要向小部件或元素添加额外的事件,请使用
GQuery.on()
. 即使您可以EventBus
用数据替换触发自定义事件(顺便说一句,性能更好)。
- ETC
- 如果您使用任何 MVP 模式,请在 View 实现中使用 gQuery DOM 操作,并在您的 Presenters 中使用 Ajax、Promises 和 Json 解析,以便您可以在 JVM 中测试您的代码
- 要增强现有的 gwt 小部件,请不要扩展它们,而是在您的视图中使用 gQuery 修改它们的 DOM 结构,以便您可以:
- 更改内部 HTML 并设置样式
- 添加缺少的行为添加新事件等。
- 克服 Widget API 限制
- 要创建新的 Gwt 小部件,编写 gQuery 插件并选择性地为非 gwtquery 用户提供 Gwt API 会容易得多。
- 如果您的应用程序架构足够简单,或者您只需要处理 DOM 和 REST,则只需使用 gwtquery:Rest 消耗、UI 等,就像您使用 jQuery 一样
我们(Julien 和我)去年在GWT.create 2013会议上做了一个有趣的演示。您有交互式幻灯片或其静态版本,我将在GWT.create 2015上发表关于 gQuery 及其最佳实践的演示文稿