[java] Pourquoi GWT? Avantages et inconvénients de l'utilisation de ce cadre RIA



Answers

Nous construisons régulièrement de petites classes (~ 2K Java classes) à moyennes (~ 6K) en utilisant GWT depuis la sortie de la version 1.3. Je comprends qu'il y a un ensemble différent de problèmes à résoudre sur un site public ayant mille clics par seconde, mais je vais essayer de parler de nos plus gros problèmes dans GWT 1.x et comment GWT 2.0 aborde cela.

Fuites de mémoire du navigateur IE6 fuites avec GWT sont énormes, IE7 fuites peuvent être compensées par des actualisations de page périodiques, IE8 promet une certaine stabilité dans ce domaine, mais pas encore largement acceptée dans l'entreprise. Et oui, même un code GWT valide sans appels JS natifs perd de la mémoire dans certains cas. Surtout quand l'interface utilisateur est complexe et que vous faites beaucoup d'appels Panel.clear (). Il n'y a pas d'outils utiles pour identifier la cause réelle de la fuite pour le moment. Sauf si vous savez comment pirater le navigateur lui-même.

Rendering Performance vous devez écrire votre code d'interface utilisateur très soigneusement, en particulier lors de la construction de widgets personnalisés couramment utilisés. Une connaissance approfondie de JavaScript, CSS et DOM est toujours requise. Il y a beaucoup de matériaux sur internet sur ce sujet. Vous devez savoir comment et quand descendre du niveau du widget GWT pour diriger les manipulations DOM.

Taille du contenu téléchargeable il était impossible avant 2.0 de diviser le module en différentes parties téléchargeables sans avoir intégré la navigation «dure» dans l'application. Mais cela effacera le contexte JavaScript et nécessitera un rechargement de la fenêtre.

Développeurs d'interface utilisateur Mind Shift Les développeurs d'interface utilisateur expérimentés ne connaissent tout simplement pas Java et OOP. Les développeurs Java expérimentés ne connaissent pas CSS, JS, HTML et n'aiment pas construire l'interface utilisateur. UI Binder va dans la bonne direction.

Nous avons effectué la migration 1.3 -> 1.5 -> 1.7 et c'était toujours juste une recompilation et quelques corrections CSS. GWT 2.0 supprime beaucoup de code obsolète et d'approches initiales (structure de projet, GWTShell) et peut être difficile à migrer rapidement. Mais toutes les fonctionnalités semblent prometteuses et c'est bien que Google ait abandonné le code existant à un moment donné. Cependant, je ne suis pas sûr de la stabilité de la version 2.0, car nous ne l'avons pas encore utilisée dans de vrais projets.

J'espère que cela t'aides.

Question

J'ai lu un tas de questions "les mieux votées" pour GWT. Plusieurs de ces questions parlent des pièges ou des problèmes avec GWT.

Dans les articles: Quel framework Javascript (jQuery vs Dojo vs ...)? et les plus grands pièges GWT? , certaines affiches semblent suggérer que GWT n'est pas assez léger ou qu'il existe de meilleures alternatives qui peuvent être utilisées.

Est-ce que la plupart d'entre vous pensent qu'il y a des problèmes avec GWT qui n'ont pas été résolus avec GWT 2.0 - ce qui vous inciterait à suggérer d'utiliser un cadre plus simple pour un nouveau projet?

Dans une certaine mesure, GWT ne devrait-il pas être un peu à l'épreuve du temps (puisque vous n'avez pas à vous soucier de changer radicalement d'une version à l'autre et puisque cela est soutenu par Google)?

Je me rends compte que la réponse à cette question dépend grandement de ce que vous voulez faire ou de ce que vous voulez faire. Je regarde cela du point de vue du démarrage d'une nouvelle application web qui sera éventuellement utilisée par des millions d'utilisateurs.




Related