Lorsque j'anime la formation GWT, j'évoque systématiquement les différences entre GWT et les framework JavaScript. Parmi les avantages à mettre au profit de GWT, la modularité constitue un argument de poids. GWT a un principe fondamental : "on ne paye que ce qu'on utilise". En d'autres termes, si un module n'utilise que deux types de widgets (boutons & textfield par exemple), seul le code JavaScript lié à ses deux composants sera téléchargé. Ce principe serait un vrai casse-tête à reproduire en JavaScript du fait du nombre de combinaisons possibles. Il semble que cette complexité n'ait pas effrayé les membres de l'équipe Dojo qui a implémenté une sorte de "Lazy Loading Stub".
La concurrence de GWT va progressivement entraîner les développeurs de Framework JavaScript à optimiser leur modèle de développement sur le principe du compilateur GWT. A une différence près, ces derniers ne bénéficient justement pas de l'apport d'un compilateur. Il est impossible de produire dynamiquement via script des optimisations réalisées statiquement.
A bon entendeur...