针对JavaSwing和GWT的交叉开发

针对JavaSwing和GWT的交叉开发,java,swing,gwt,cross-platform,Java,Swing,Gwt,Cross Platform,有人知道有什么工具可以方便地将应用程序移植到JavaSwing和GWT吗 我有几个“屏幕”,在桌面应用程序和浏览器中都可以使用,我想知道是否有某种通用的API可以作为目标,有助于创建这两种不同的“视图”(参见我的评论) 我认为这是完全可能的,但这将意味着对服务器端的事情有不同的看法 如果您对UI与之通信的服务器端组件进行基于接口的POJO开发来完成这项工作,那么您可以选择在内存中实现或作为远程组件的代理。Swing桌面UI可能使用服务器端的内存版本,而GWT版本与分布式版本对话 如果您使用Spr

有人知道有什么工具可以方便地将应用程序移植到JavaSwing和GWT吗


我有几个“屏幕”,在桌面应用程序和浏览器中都可以使用,我想知道是否有某种通用的API可以作为目标,有助于创建这两种不同的“视图”(参见我的评论)

我认为这是完全可能的,但这将意味着对服务器端的事情有不同的看法

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

如果您使用Spring,则很容易为每个UI注入适当的实现。两者都只知道接口,而忽略了实现细节

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

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

无论我试图了解您的需求是否正确,无论您决定如何实现服务和客户机层,这种方法都是有价值的


我是Spring的粉丝,因此我建议使用Spring。

评论我自己的问题:我在“跨平台开发”方面确实有丰富的经验,我曾经实际开发过一款(商业)软件,该软件可以生成数百个(是的,数百个)不同的版本,目标是来自独特代码库的Brew/iPhone/Java手机(想想现在已经不存在的Tira Wireless)。它的工作原理是针对一个受限的API,然后自动转换成C++/Obj-C代码。所以基本上我想要的是类似的东西(一些简化的API)开发Swing和GWT两种应用程序。@duffymo:哦,这很有趣……我甚至没有想过这一点:但是UI实现呢?这两者需要分开/不同的实现吗?UI不可能也有一个唯一的“代码库”吗?(实际上我通常使用HMVC/PAC UI,我可以轻松地“嵌套”屏幕变成标签等,我想要的是一些屏幕,可以方便地在Swing和SWT之间移动)@duffymo:我没有精确说明,但基本上,桌面Swing应用程序只有在有互联网连接并且它已经与我们的服务器不断对话时才有意义(并不是说它变化太大)。