GWT elemental 是否使用 JsType 或 JSNI Overlays?

Does GWT elemental use JsType or JSNI Overlays?

我正在研究 GWT elemental,将其作为一种在 GWT 中访问 java dom 的更快方法。但是,当我查看 Maven 依赖项的源代码时,我看到的只是 js 覆盖。例如:

public class JsNode extends JsElementalMixinBase  implements Node {
  protected JsNode() {}

  public final native JsNamedNodeMap getAttributes() /*-{
    return this.attributes;
  }-*/;

  public final native String getBaseURI() /*-{
    return this.baseURI;
  }-*/;

  public final native JsNodeList getChildNodes() /*-{
    return this.childNodes;
  }-*/;

  public final native JsNode getFirstChild() /*-{
    return this.firstChild;
  }-*/;

  public final native JsNode getLastChild() /*-{
    return this.lastChild;
  }-*/;
....

这与默认 gwt xml dom 中的内容相差不大。我在这里错过了什么?

谢谢!

不再定期更新的 Elemental v1 使用 JSO 和 JSNI,因为那是当时唯一的选择。

Elemental v2 使用 JsInterop,这是一种新的 future-proofed 从 Java 代码中描述 JS 对象的方法。来源(和问题跟踪)位于 https://github.com/google/elemental2/. You can find elemental2 in maven by searching for the groupId com.google.elemental2: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.google.elemental2%22

https://github.com/google/jsinterop-generator 是用于自动生成 elemental2 的工具,理论上可以在任何其他 JS 库上使用,让 GWT 应用程序使用它。我个人并没有很幸运地让它工作,但该工具的主要目的仍然是生成 elemental2 源,因此随着人们使用它,它会继续改进。