Depende do que você deseja fazer (como na maioria das ferramentas).
Se você quiser entrar nos detalhes do desenvolvimento da Web, use muitos truques (às vezes diferentes) do ambiente do navegador, e os recursos mais recentes deles têm a coragem de lutar com pequenos truques que fazem com que seu aplicativo Web 'pareça legal', GWT estará sempre no seu caminho: se você tiver tempo e experiência, poderá fazer tudo e mais com as mãos. E sim, existem muitos outros kits de ferramentas que ajudarão você a programar em JavaScript.
No entanto, se você deseja criar uma GUI "não tão sofisticada", mas estável para seu aplicativo, que "deveria", e na maioria dos casos realmente faz o mesmo, e tem a mesma aparência em vários navegadores sem truques, o GWT é uma boa opção. escolha, o melhor que eu conheço. Explicação: O Google está definitivamente motivado para mantê-lo sincronizado com a maioria dos navegadores e as mais recentes tecnologias, e definitivamente possui recursos suficientes para fazê-lo. Sim, você adere a outro gigante em vez de fazer suas próprias coisas. Pergunta: qual é o seu trabalho? Fornecer o mesmo serviço para a maior raiva dos usuários por meio de uma interface da Web com o menor esforço - ou criar um portal brilhante e excepcional, com os recursos mais legais das plataformas mais recentes.
Motivo com +1: acho que é benéfico manter seu aplicativo em uma base de código e em um idioma. Você poderia fazer truques bem elaborados em scripts de banco de dados - mas se trava nesse servidor db. Você pode fazer coisas externas com scripts de shell ou arquivos em lote - mas se trava ao sistema operacional. Você pode implementar parte da lógica do controlador em JavaScript para fornecer uma interface de cliente rica em um navegador - mas pode se trancar em um navegador. Para todos os casos, não é fácil mantê-los sincronizados com a estrutura e os requisitos de dados do aplicativo principal (e talvez o mais difícil seja o ambiente do navegador + das ferramentas JS em constante mudança). Estou convencido de que, se o aplicativo principal estiver em Java, tudo deve estar em Java - com uma fração muito pequena de casos em que você realmente precisa colocar parte da lógica em outro ambiente.
Eu escolhi o GWT por causa das minhas respostas às perguntas acima - e ele faz o que eu queria: em cerca de duas semanas após a instalação, eu tinha uma interface da web aceitável para um sistema interno de monitoramento de servidor - apesar de ter experiência com o Swing. (Não, eu não usei a aparência padrão e sim, usei CSS e classes para apresentar informações lógicas :-))
Verifique suas tarefas atuais e planejadas - e escolha a ferramenta certa para elas.