将Java代码转换/映射到Dart

时间:2014-07-20 22:46:11

标签: java dart

我的服务器是用Java编写的(在GAE上)。它包括我与Android客户端共享的一些数据类,现在也想与Dart Web客户端共享。

通过'share'我的意思是我将它们序列化为JSON并使用HTTP或GCM在客户端和服务器之间同步它们。

所以,我正在寻找一种能够为相关Java类生成Dart等价物的工具,所以我不必手动创建它们。

3 个答案:

答案 0 :(得分:2)

Google Cloud Endpoints执行此操作(将数据类从GAE语言转换为客户端语言),但Dart目前不属于支持语言。

我猜GCE可以用来生成js,然后可以在Dart app中使用,但这并不理想。所以我认为这是一个可能的解决方案,但不是一个合适的解决方案。

另一个问题是代码转换紧密绑定到GCE服务 - 它不能独立于GCE使用,并且让GCE转换你的类的唯一方法是将它们包含在GCE界面。

(如果他们向GCE添加了Dart支持,使代码转换器更加独立于GCE,并添加了一些功能,例如@Ignore属性,我认为它非常有用!)

答案 1 :(得分:2)

" ad-hoc Java-to-Dart translator"是在三天内写的"作者:Stefan Matthias Aust(最新修订于2014-01-03)。作者注意到"可能存在错误",而且"我没有涵盖注释和一些基本的[sic]泛型语法。"

他提供了一些有用的指导方针,以保持Java代码对dart友好:

"因为Dart不支持重载方法,所以我强烈建议首先使用Java重命名(使用您喜欢的IDE)这些方法。我还注意到Dart并不喜欢类型,字段或方法是否具有相同的名称。同样,我建议在翻译之前重命名所有这些事件。他还指出,Dart不支持角色类型。

答案 2 :(得分:1)

您可以使用此程序包为Google Cloud Endpoints生成Dart客户端代码http://pub.dartlang.org/packages/discovery_api_client_generator

我也成功地将协议缓冲区用于类似的场景 - http://pub.dartlang.org/search?q=protobuf
- http://pub.dartlang.org/packages/protobuf_builder
另请参阅https://developers.google.com/protocol-buffers/

相关问题