2009-11-13 42 views
2

我正在評論一箇中等大小的代碼庫(大約30K LOC),它使用了一個巨大的Applet並與其他系統連接。將Java Applet遷移到什麼地方?

這是一個創建自定義標籤的工具,所以我們需要拖放和其他相關的UI組件。

如果給定代碼庫位於Java中,那麼您將遷移哪個技術代碼。

  • 小程序 - 無
  • 的Java FX - 採用率過低
  • GWT - 重構是不容易

任何意見/建議。

+1

爲什麼說重構在GWT中不容易?那不是我的經歷。 – skaffman 2009-11-13 10:29:14

+0

更多從小應用程序到GWT的努力是什麼問題? – 2009-11-13 11:21:07

回答

6

爲什麼你需要遷移這個?由於拖放?

也許你應該將它作爲一個獨立的Java應用程序來運行,並使用Java Web Start來提供它。我認爲編碼的改變應該是最小的,以將其從applet轉換。

+0

您可以編寫一個JNLP文件,該文件在WebStart中運行未改變的小應用程序(儘管它顯然沒有獲得LiveConnect)。 – 2009-11-13 10:47:05

+0

我沒有意識到這一點。 Thx,Tom – 2009-11-13 10:54:27

+0

同意 - 聽起來像一個很好的soln。 JNLP和web start的工作令人驚訝。 – Joel 2009-11-13 11:12:10

0

我會建議你GWT加上一個良好的用戶界面庫(例如Ext-GWT,又名GXT)。 我認爲用一個好的UI庫遷移並不是那麼困難。 再見 克勞迪奧

1

你的問題有點難以理解。 據我所知,JavaFX和Applets共享相同的技術。

我經常使用GWT,我相信從Applets/Swing遷移到GWT是相當容易的。 但是你只能使用java庫的一個子集,所以不要指望你可以編譯一個SWING應用程序並用GWT運行它。有些東西在瀏覽器中是不可行的,所以你可能需要將一些代碼移動到服務器上,並且只留下瀏覽器中的UI層。

當你說它與其他系統連接時,你是什麼意思?如果你需要從小應用程序/瀏覽器連接到其他機器,那麼不要忘記,GWT只是JS,所以它有相同的原產地政策,將阻止這一點。有可能的解決方法,但這會花費你一些額外的工作。

2

使用AjaxSwing自動將小程序轉換爲Web應用程序。您可能必須編寫自己的拖放操作,但您必須使用其他任何框架來完成。至少你沒有做任何編碼就休息了。

http://ajaxswing.com

+0

很酷。你有第一手的反饋?謝謝。 – lud0h 2010-02-23 07:39:24

+1

是的,我們已經在一些應用程序中使用了它,它工作得很好。並非所有工作都是100%開箱即用,所以我們不得不在Swing代碼中對多線程進行微小的調整,並且我們必須對幾個自定義組件進行一些配置更改。但這是一個快速的過程,最終整個應用程序在瀏覽器中工作,就像一個真正的Web應用程序。 – Maximus 2010-03-22 15:06:32