2010-04-18 46 views
3

有谁知道任何可以简化/轻松将应用程序移植到Java Swing和GWT的工具吗?针对Java Swing和GWT进行交叉开发

我有几个“屏幕”,使在桌面应用程序和浏览器都具有完整的意义,我想知道是否有某种通用的API,可以有针对性的,这将有助于创建这两个不同的“意见”(见我的评论)?

+0

评论我自己的问题:我实际上对“跨平台开发”有着丰富的经验,他实际上曾在一个(商业)软件上生成数百(是,数百)不同版本的软件,面向Brew/iPhone/Java手机从一个独特的代码库(想想现在已经失效的Tira Wireless)。它通过定位受限制的API,然后自动转换为C++/Obj-C代码进行工作。所以基本上我会跟类似的东西(一些简化的API)来开发Swing和GWT应用程序。 – SyntaxT3rr0r 2010-04-18 18:53:59

回答

2

我认为这是完全可能的,但这意味着在事物的服务器端不同。

如果您对UI进行通信的服务器端组件进行基于接口的POJO开发来完成这项工作,您可以选择使用内存中实现还是作为远程代理的代理零件。 Swing桌面用户界面可能会使用服务器端的内存版本,而GWT版本会与分布式版本对话。

如果你使用Spring,很容易为每个UI注入适当的实现。两者都只知道接口并且不知道实现细节。

我想象一个可能以不同方式打包的代码库。 Swing桌面应用程序将打包并作为JAR文件提供。它不包括GWT或Web层控制器类。 GWT代码库将包含Web配置和控制器,因为控制器实际上是Web层的一部分。

服务接口及其后面的所有内容对于两者都保持不变。唯一的区别是Swing桌面配置会注入服务接口的内存中服务层实现。 Web配置将注入服务接口的基于Web的实现。

无论您决定如何实施服务层和客户端层,无论我是否尝试了解您的要求是否正确,此方法都具有价值。

我是一个春风扇,所以我建议使用Spring。

+0

@duffymo:哦,这很有趣...我甚至没有想过:但UI实现呢?这些都需要分离/不同的实现吗?是否有可能为UI提供独特的“代码库”? (实际上我通常使用HMVC/PAC用户界面,我可以很容易地将屏幕“嵌套”到标签页等等,我将会在SWing和SWT之间轻松移植一些屏幕) – SyntaxT3rr0r 2010-04-18 19:45:28

+1

@duffymo:I没有精确它,但基本上,桌面Swing应用程序只有在互联网连接时才有意义,并且它已经与我们的服务器不断对话(而不是变化很大)。 – SyntaxT3rr0r 2010-04-18 19:48:17