Я думаю, что некоторые из ответов на этот вопрос совершенно не информированы, и я подозреваю, что отвечающие на них люди никогда не использовали GWT в крупномасштабных проектах. Да, GWT - отличный способ создания больших веб-сайтов AJAX, а для больших сложных сайтов, в том числе и с серверной частью, он запускает такие вещи, как JQuery, вверх и вниз по парку. Я всегда смотрю на это так, что сам по себе javascript отлично подходит для выполнения небольших задач на стороне клиента. Когда вам нужно сделать что-то более сложное (например, динамические поля, всплывающие окна, анимацию), вы вводите что-то вроде JQuery или Prototype. Если вы хотите сделать еще один шаг вперед, вы выбираете GWT.
Люди предполагают, что, поскольку вы пишете это на Java, он предназначен для разработчиков бэкэнда, которые занимаются разработкой интерфейса. Это не. Java - это просто язык, который они выбрали, в основном потому, что он широко используется, статически типизирован и существует множество хороших редакторов для него.
Я также не покупаю теорию неплотной абстракции, она не пытается полностью абстрагировать элементы HTML, поскольку дает вам прямой доступ как к нативному javascript, так и к DOM, если вы решите их использовать.
Короче говоря, мы создали очень сложные сайты (один из которых был представлен в блоге GWT) в GWT, а также с использованием других библиотек, таких как JQuery. Я могу сказать вам со 100% уверенностью, что, как только вы разберетесь с GWT, это убьет эти другие фреймворки для сложных задач. Он также имеет несколько великолепных встроенных вещей, которые помогают сделать вещи лучше, и даже делает некоторые вещи, которые не поддерживает ни один другой фреймворк (например, волшебство, которое он может делать с изображениями). Смотрите этот блог для более подробной информации:
http://googlewebtoolkit.blogspot.com/2007/10/epo-builder-built-with-gwt.html