Это зависит от того, что вы хотите сделать (во всяком случае, для большинства инструментов).
Если вы хотите вникнуть в детали веб-разработки, используйте многие (иногда разные) приемы среды браузера и их новейшие функции, хватит смелости бороться с небольшими приемами, которые делают ваше веб-приложение «крутым», GWT всегда будет на вашем пути: если у вас есть время и опыт, вы можете делать все и больше своими руками. И да, есть много других наборов инструментов, которые помогут вам в процессе программирования на JavaScript.
Однако, если вы хотите создать «не такой необычный», но стабильный графический интерфейс для вашего приложения, который «должен», и в большинстве случаев действительно делает то же самое, и выглядит одинаково в разных браузерах без уловок, GWT - хороший выбор, лучшее, что я знаю. Объяснение: Google определенно заинтересован в том, чтобы синхронизировать его с большинством браузеров и новейшими технологиями, и определенно имеет достаточно ресурсов для этого. Да, вы придерживаетесь другого гиганта вместо того, чтобы заниматься своими делами. Вопрос: чем вы занимаетесь? Предоставить ту же услугу широкому кругу пользователей с помощью веб-интерфейса с наименьшими усилиями - или создать блестящий, исключительный веб-портал, который обладает самыми крутыми функциями на новейших платформах.
Причина +1: я думаю, что полезно хранить ваше приложение в одной кодовой базе и на одном языке. Вы можете сделать аккуратный трюк в сценариях базы данных - но вы привязываетесь к этому серверу БД. Вы можете выполнять внешние действия с помощью сценариев оболочки или пакетных файлов, но вы привязываетесь к операционной системе. Вы можете реализовать некоторую логику контроллера в JavaScript, чтобы обеспечить богатый клиентский интерфейс в браузере, но вы можете заблокировать себя в одном браузере. В любом случае, их непросто синхронизировать с основной структурой данных приложения и требованиями (и, возможно, самым сложным из них является постоянно меняющаяся среда браузера + инструменты JS). Я убежден, что если основное приложение находится на Java, все должно быть на Java - с очень малой долей случаев, когда вам действительно нужно поместить часть логики в другую среду.
Я выбрал GWT из-за моих ответов на вышеупомянутые вопросы - и он делает то, что хотел, чтобы он делал: примерно через 2 недели после установки у меня был приемлемый веб-интерфейс для внутренней системы мониторинга сервера - хотя у меня был опыт работы с Swing. (Нет, я не использовал внешний вид по умолчанию и да, я использовал CSS и классы для представления логической информации :-))
Проверьте свои текущие и запланированные задачи - и выберите правильный инструмент для них.