Я думаю, что, учитывая № 2, № 3 и № 4 (вы не можете провести экзотический, но забавный эксперимент, верно?), Вы можете взглянуть на SpringFramework для java-бэкенда и JQuery для javascript-интерфейса.
Я хорошо знаю обе эти платформы, я использую их уже 3 года, их нетрудно реализовать и настроить для ваших нужд, и есть много людей, которые используют и знают их.
Кроме того, учитывая упомянутые вами фреймворки (которые, я думаю, вы знаете, не так ли?), С помощью Spring и JQuery вы могли бы многому научиться и взглянуть на веб-приложение с другой точки зрения.
У меня нет опыта работы с тем, что вы упомянули, я только что посмотрел GWT некоторое время назад, но я знаю их схему развития. Это зависит от вашей работы, например, мне всегда было любопытно узнать о GWT, но я не мог использовать его, потому что он выглядел все еще слишком экспериментальным для моего босса и моих коллег :-(
Поэтому, возможно, Spring + JQuery не выглядит так «2.0», но он действительно сильный, и, как я уже писал, может помочь вам расширить вашу точку зрения.