Dipende da cosa vuoi fare (come per la maggior parte degli strumenti).
Se vuoi entrare nei dettagli dello sviluppo web, utilizzare molti trucchi (a volte diversi) dell'ambiente del browser e le loro funzionalità più recenti, devi avere il coraggio di combattere con piccoli trucchi che rendono la tua app Web "accattivante", GWT sarà sempre sulla tua strada: se hai il tempo e l'esperienza, puoi fare tutto e di più con le tue mani. E sì, ci sono molti altri toolkit che ti aiuteranno lungo la programmazione in JavaScript.
Tuttavia, se si desidera creare una GUI "non troppo elaborata", ma stabile per l'applicazione che "dovrebbe", e nella maggior parte dei casi fare davvero lo stesso, e apparire uguale in vari browser senza trucchi, GWT è una buona scelta, la migliore che io conosca. Spiegazione: Google è decisamente motivato a mantenerlo sincronizzato con la maggior parte dei browser e le tecnologie più recenti e ha sicuramente risorse sufficienti per farlo. Sì, aderisci a un altro gigante invece di fare le tue cose. Domanda: che lavoro fai? Fornire lo stesso servizio alla più ampia rabbia degli utenti attraverso un'interfaccia Web con il minimo sforzo o creare un portale Web brillante ed eccezionale che abbia le funzionalità più interessanti sulle piattaforme più recenti.
Motivo +1: penso che sia utile mantenere l'applicazione in una base di codice e in una lingua. Potresti fare un bel trucco negli script del database, ma ti blocchi a quel server db. Puoi fare cose esterne con script di shell o file batch, ma ti blocchi al sistema operativo. È possibile implementare parte della logica del controller in JavaScript per fornire una ricca interfaccia client in un browser, ma è possibile bloccarsi in un browser. In tutti i casi, non è facile mantenerli sincronizzati con la struttura e i requisiti dei dati dell'applicazione principale (e forse il più difficile è il browser in costante evoluzione + l'ambiente degli strumenti JS). Sono convinto che se l'applicazione principale è in Java, tutte le cose dovrebbero essere in Java - con una piccolissima frazione di casi in cui devi davvero inserire una parte della logica in un altro ambiente.
Ho scelto GWT per le mie risposte alle domande precedenti - e fa quello che volevo fare: in circa 2 settimane dopo l'installazione avevo un'interfaccia web accettabile per un sistema di monitoraggio interno del server - sebbene avessi esperienza con Swing. (No, non ho usato l'aspetto predefinito e sì, ho usato CSS e classi per presentare informazioni logiche :-))
Controlla le tue attività attuali e pianificate e scegli lo strumento giusto per loro.