2009-11-13 10 views
2

J'examine actuellement une base de code de taille moyenne (environ 30K LOC) qui utilise un énorme Applet et des interfaces avec d'autres systèmes.Migration de l'applet Java vers quoi/où?

C'est un outil pour créer des étiquettes personnalisées, nous avons donc besoin de glisser-déposer et d'autres composants d'interface utilisateur connexes.

À quelle technologie allez-vous migrer étant donné que la base de code est en Java.

  • Applet - Pas
  • Java FX - Taux d'adoption est trop faible
  • GWT - refactorisation est pas facile

Toutes les idées/suggestions.

+1

Pourquoi dites-vous refactoring est pas facile à GWT? Ce n'est pas mon expérience. – skaffman

+0

Est-ce plus l'effort d'aller d'applets à GWT qui est le problème? –

Répondre

6

Pourquoi avez-vous besoin de migrer cela? En raison de glisser-déposer? Vous devriez peut-être envisager de l'exécuter en tant qu'application Java autonome et utiliser Java Web Start pour le servir. Je pense que les changements de codage devraient être minimes pour le convertir à partir d'une applet.

+0

Vous pouvez écrire un fichier JNLP qui exécute un applet inchangé dans WebStart (bien qu'il n'obtienne pas LiveConnect, évidemment). –

+0

Je ne m'en suis pas rendu compte. Thx, Tom –

+0

D'accord - cela ressemble à un bon soln. JNLP et web start fonctionnent étonnamment bien. – Joel

0

Je vais vous suggérer GWT couplé avec une bonne bibliothèque d'interface utilisateur (par exemple Ext-GWT, alias GXT). Je pense qu'avec une bonne migration de la bibliothèque de l'interface utilisateur n'est pas si difficile. Au revoir Claudio

1

Votre question est un peu difficile à comprendre. Autant que je sache, JavaFX et Applets partagent la même technologie.

J'utilise GWT fréquemment et je crois qu'il est assez facile de migrer de Applets/Swing à GWT. Mais vous ne pouvez utiliser qu'un sous-ensemble des bibliothèques java, alors ne vous attendez pas à ce que vous puissiez simplement compiler une application SWING et l'exécuter avec GWT. Certaines choses ne sont simplement pas réalisables dans le navigateur, vous devrez peut-être déplacer une partie du code vers le serveur et ne laisser que la couche d'interface utilisateur dans le navigateur. Que voulez-vous dire quand vous dites qu'il s'interface avec d'autres systèmes? Si vous avez besoin de vous connecter à d'autres machines à partir de l'applet/navigateur, n'oubliez pas que GWT est simplement JS, donc il a la même politique d'origine qui bloquerait cela. Il existe des solutions possibles pour cela, mais cela vous coûtera du travail supplémentaire.

2

Utilisez AjaxSwing pour convertir automatiquement votre applet en application Web. Vous devrez peut-être écrire votre propre glisser-déposer, mais vous devrez le faire avec n'importe quel autre framework. Au moins, vous obtenez le reste sans codage.

http://ajaxswing.com

+0

Cool. Avez-vous des commentaires de première main? Merci. – lud0h

+1

Oui, nous l'avons utilisé sur quelques applications et ça a plutôt bien marché. Tout ne fonctionnait pas à 100%, donc nous avons dû faire quelques petites modifications dans le code Swing pour le multithreading, et nous avons dû faire quelques changements de configuration pour quelques composants personnalisés. Mais c'était un processus rapide et à la fin l'application entière a fonctionné dans le navigateur juste comme une vraie application Web. – Maximus