4

我最近发现了 Dart 和 GWT 集成,(顺便说一句,我是 GWT 开发人员)虽然我没有时间观看视频,但我对学习如何使用我的 GWT 应用程序进行测试很感兴趣;现在我正在研究如何让 Dart 首先在我的 GWT 客户端代码上工作。

问题:

  • 在做 Dart + GWT 时,应用程序的哪些部分可以一起工作?
  • 在客户端,GWT 和 Dart 可以一起工作,因为两者都编译为 Javascript?而关于这部分,Dart Browser 端对 Restful 接口的访问在代码维护方面是否更好?
  • Dart 服务器端(字节码)是否可以在 JVM 中运行?或者那会很慢?
4

2 回答 2

6

Shannon Behrens 的这个视频和博客文章(我猜是你在问题中提到的那个)讨论了使用 GWT 和 Dart。

  1. 视频中涵盖了以下主题,它回答了您问题的第一点。

    • 使用 GWT 和 Dart 管理同一页面的不同部分
    • 使用 Dart 从 Java servlet 中检索 JSON
    • 使用 window.postMessage 和 JSNI 在 GWT 和 Dart 之间传递消息
    • 使用 JavaScript、JSNI 和 Dart 的 js 包实现 GWT 和 Dart 之间的同步互操作
    • 使用 CustomEvent 对象和 Elemental 在 GWT 和 Dart 之间传递消息
  2. 关于第二个问题,Dart 使用与 JavaScript 相同的底层 AJAX APIS,例如 JavaScriptsXMLHttpRequestHttpRequestDart 中。使用它,您可以从 RESTful API 获取/发布等。

  3. 第三个问题“Dart 服务器端(字节码)是否可以在 JVM 中运行”:Dart 没有字节码。服务器端的 Dart 就像 node.js(服务器端 javascript)、python、ruby 等......而不是像 Java 那样被编译成字节码的形式。有一个早期的实验来获取 Dart 代码并使其在 JVM 上运行,但这更像是一个早期的概念证明,而不是任何实际使用的东西(参考:https ://code.google.com/p/jdart/ )

于 2013-04-19T07:29:08.243 回答
1
  1. GWT 在未来几年不能被 Dart 取代。Dart 仍在 MileStone 4 中。此处总结了 Google 的 Web wrt GWT、DART、Closure 等方法。

  2. 与 GWT wrt to JSON 相比,我没有看到 Dart 的任何好处。它可以争论,但永远不会在任何一方解决。

  3. Dart 可能已经支持 GAE - http://news.dartlang.org/2013/03/irrduino-sprinkler-system-built-using.html

注意: 我只用 Dart 编写了几个 hello world 程序。截至今天,Dart 处于 Milestone 4 版本中

  1. Dart 仅在自定义 Chrome(Dartium 浏览器)中运行。Firefox,IE 可能永远不会原生支持它并且目前对它怀有敌意!!!!Dart 编译为 Javascript(Dart2JS 编译器)的方式与 GWT 将 java 编译为 javascript 的方式相同。这使其能够提供与 IE、Firefox 的兼容性。

  2. 除非 Dart 得到 FireFox 的支持或 10 倍或 100 倍的性能 wrt javascript,否则它不太可能在其他浏览器中获得牵引力。目前在 dartium 浏览器中本地运行时,它的性能大约是 javascript 的 2 倍或 3 倍。

于 2013-04-19T05:12:29.673 回答