Це залежить від того, що ви хочете зробити (як і для більшості інструментів у будь-якому випадку).
Якщо ви хочете розібратися в деталях веб-розробки, використовуйте безліч (іноді різних) хитрощів середовища браузера та найновіших їх функцій, майте можливість боротися з невеликими хитрощами, завдяки чому ваш веб-додаток 'виглядає крутим', GWT завжди буде на вашому шляху: якщо у вас є час і досвід, ви можете зробити все і більше руками. І так, існує багато інших наборів інструментів, які допоможуть вам програмувати в JavaScript.
Однак якщо ви хочете створити "не дуже фантазійний", але стабільний графічний інтерфейс для свого додатка, який "повинен", і в більшості випадків дійсно так само, і виглядати те саме в різних браузерах без хитрощів, GWT - це добре вибір, найкраще, про що я знаю. Пояснення: Google, безумовно, вмотивований підтримувати синхронізацію з більшістю браузерів та найновіших технологій, і, безумовно, має достатньо ресурсів для цього. Так, ви дотримуєтесь іншого гіганта, а не займаєтесь своїми справами. Питання: яка ваша робота? Надати ту саму послугу найширшим людям користувачів через веб-інтерфейс з найменшими зусиллями - або зробити блискучий, винятковий веб-портал, який має найкрутіші функції на новітніх платформах.
Причина +1: Я думаю, що вигідно зберігати свою програму в одній базі коду та одній мові. Ви можете зробити акуратний трюк у сценаріях баз даних, але ви заблокуєте себе на цьому сервері db. Ви можете виконувати зовнішні речі зі скриптами оболонки або пакетними файлами - але ви заблокуєте себе в операційній системі. Ви можете реалізувати частину логіки контролера в JavaScript, щоб забезпечити багатий клієнтський інтерфейс у браузері, але ви можете заблокувати себе в одному браузері. У всіх випадках непросто тримати їх у синхронізації зі структурою даних та вимогами основної програми (і, мабуть, найскладнішим є середовище браузера та інструменти JS, що постійно змінюється). Я переконаний, що якщо основний додаток знаходиться на Java, всі речі повинні бути на Java - з дуже невеликою частиною випадків, коли вам дійсно доведеться перенести частину логіки в інше середовище.
Я вибрав GWT через свої відповіді на вищезазначені питання - і він робить те, що я хотів це зробити: приблизно через 2 тижні після встановлення у мене був прийнятний веб-інтерфейс для внутрішньої системи моніторингу сервера - хоча я мав досвід роботи з Swing. (Ні, я не використовував зовнішній вигляд за замовчуванням, і так, я використовував CSS та класи для подання логічної інформації :-))
Перевірте свої поточні та заплановані завдання - і виберіть правильний інструмент для них.