Juste une note sur ce poste et la direction que j'ai pris. Quand j'ai commencé mon projet GWT et que j'étudiais les bases et lisais d'autres messages et préoccupations et conseils, le seul conseil que j'avais négligé au début était assez simple - lorsque j'utilise le framework GWT, j'utilise uniquement des composants 100% GWT purs. J'ai d'abord ignoré ces avertissements équitables des autres développeurs car à l'ère des outils open source, et des projets open source, on développe l'esprit de "Au lieu de construire un outil qui me donnera certaines fonctionnalités, laissez-moi voir plutôt si quelqu'un d'autre l'a déjà fait ". Cet état d'esprit accélère le développement et quasi standardise les projets et les méthodes de mise en œuvre.
Cependant, j'ai trouvé au cours des deux derniers mois, que lorsque vous travaillez avec GWT, il est préférable de ne pas suivre ce principe. Peut-être parce que ce n'est pas aussi répandu que d'autres frameworks, ou exige un certain type de codage, mais la recherche d'un composant (simple, triable, chargeable JSON) et d'un composant de forme (validant, soigné) n'a rien à court de cauchemar.
Ce n'est pas parce qu'ils n'existent pas. Ils font. J'ai essayé ext-gwt, gwt-ext, gwt-mosaïque, et gwt-incubateur. C'est parce que la plupart des composants se détachent de la base de mise en page très simple fournie par GWT (en d'autres termes, les panneaux sur lesquels vous placez les widgets doivent principalement être les panneaux fournis avec les outils). Ceci à son tour rend les composants de mélange et obtenir le résultat désiré presque impossible. Ce qui, à son tour, rompt avec la mentalité de «laissez-moi-trouver-un-composant-utile».
Juste un point intéressant et final que je pense pourrait être utile de mentionner. Donc, en raison de ma réalisation du point mentionné ci-dessus, je me suis mis à écrire ma propre grille et les composants de la forme. Ce que j'ai terminé et fonctionne bien pour moi (évidemment, parce que je les ai écrits, je ne pense pas qu'ils seront utiles à tout le monde).Mais en train d'écrire le composant de la grille, et ayant besoin des colonnes pour se dimensionner et s'esquiver automatiquement une fois dessiné dans leur panneau parent, j'ai trouvé que la connaissance de la largeur finale des panneaux n'est pas connue avant d'être dessinée (ceci arrive longtemps après tout votre code s'exécute). Ironiquement, je me suis mis à construire un ensemble de panneaux qui communiquent les uns avec les autres, depuis le panneau parent (qui a finalement besoin d'avoir une connaissance de sa taille) jusqu'aux panneaux les plus internes pour que lorsque mon composant grille soit enfin dessiné, je peux déclenchez une méthode appelée onSizeKnown (largeur int, hauteur int) et faites ce qui est requis. Après avoir terminé cela, je n'ai pu que rire. Parce qu'il est soudainement devenu clair pour moi pourquoi tous les autres composants GWT ont besoin de leurs propres panneaux. Je devais essentiellement faire la même chose pour obtenir ce dont j'avais besoin de travailler. Donc, en bref, si vous êtes un développeur débutant GWT comme je l'étais et que je suis (est?) À la recherche de choses sympas pour rendre votre projet look génial - c'est mon conseil - si vous allez utiliser un cadre externe tel comme certains des mentionnés ci-dessus - utilisez SEULEMENT ce cadre. Ne mélangez pas ses composants avec d'autres frameworks. Apprenez à aimer ce cadre, et construisez votre projet de bas en haut en utilisant leurs panneaux et leurs méthodes de conception. Si cela vous effraie et que vous vous sentez nerveux et limité, faites ce que j'ai fait et écrivez le vôtre en utilisant des composants GWT purs à la vanille. Vous économiserez BEAUCOUP de temps à long terme en suivant ce conseil.
Xandel
Le titre de la question résume parfaitement mes expériences GXT. Fonctionnalité simple et de base rendue complexe voire impossible. –