Я оценил Flex и GWT, и, по крайней мере, для нашего проекта мы решили использовать Flex. Использование BlazeDS для интеграции с Java сделало вещи ОЧЕНЬ быстрыми, в Интернете можно найти множество диаграмм, которые подскажут вам, насколько быстрее, и это было одним из наших основных критериев. Даже имея дело непосредственно с XML, Flex был примерно на порядок быстрее, чем GWT, когда речь шла о передаче данных от клиента к серверу, и BlazeDS сделал это намного быстрее. Я думаю, что все сводится к тому, что клиенты Flex работают во Flash VM, а GWT работает в интерпретаторе Javascript. Если вы работаете в Chrome, производительность может быть близкой, я не знаю, но если вы не работаете в Chrome, я думаю, что производительность сильно зависит от Flex. Я сделал JSON во Flex, есть несколько библиотек, которые позволяют вам делать это на json.org. Во Flex / Actionscript есть также библиотека «History», которая позволяет вам решать проблемы с кнопками «назад». В целом, они оба являются отличными решениями, если вам нужно поддерживать платформы, которые не поддерживают Flash, то GWT является очевидным выбором, но в противном случае я могу сказать, что у нас есть очень успешное приложение Flex, использующее Java / Spring / Hibernate на бэкэнд через BlazeDS, поддерживающий сотни одновременных пользователей со скоростями, которые очень выгодно сопоставимы со скоростями настольных клиент-серверных приложений.
Я добавлю сюда немного фона. Нам было поручено заменить приложение Windows Client / Server на что-то, что было бы примерно сопоставимым по производительности, гораздо более настраиваемым, без конфигурации на рабочем столе и являлось бы «веб-приложением». Мы разбирались с Java-апплетами, установками .Net 1 click, GWT и Flex. Исходя из баланса простоты использования, производительности, того факта, что у нас есть другие причины требовать Flash на настольных компьютерах наших пользователей, и откровенно политических причин (java haters;), мы выбрали модульное приложение Flex. Теперь, более чем через год, и более 90 динамически настраиваемых модулей, основанных на ролях пользователей, я думаю, что это было довольно успешно.
Но, конечно же, YMMV;)