2010-04-18 15 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