Статьи

Интеграция GWT в AppFuse

Я заинтересован в интеграции GWT в AppFuse с тех пор, как написал об этом блог 4 года назад . Через несколько месяцев после этого поста я написал о Enhancing Evite.com с GWT и Grails . После Evite у меня был концерт под Бостоном, где я работал с GXT до конца года. Когда все было сказано и сделано, я провел год с GWT и действительно наслаждался своим опытом. Я не использовал это много с тех пор.

GWT планируется интегрировать в AppFuse в версии 4.0. Это довольно далеко. Хорошая новость в том, что вам, возможно, не придется ждать так долго, благодаря Ивану Гарсии Сайнс-Айя . Иван сообщил нам о его работе пару недель назад в электронном письме в список рассылки appfuse-dev .

Это все еще в стадии разработки, но уже имеет большую часть функциональности AppFuse.

Если вы хотите попробовать

https://github.com/ivangsa/appfuse.git

самый быстрый способ попробовать

web/gwt$ mvn -P gwtDebug -Dgwt.inplace=true gwt:compile jetty:run

на данный момент он все еще требует компиляции этой ветки gwt-bootstrap

https://github.com/ivangsa/gwt-bootstrap.git

Это еще требует много испытаний, но это уже довольно

Как вы можете себе представить, я был очень рад услышать о работе Ивана. Поэтому я клонировал его репозиторий, локально создал gwt-bootstrap и проверил его. Функциональность мудрая, это было здорово! Однако, когда я начал копаться в исходном коде, я обнаружил целый лотосный код.

Чтобы увидеть, как GWT-аромат сравнивается с другими реализациями в AppFuse, я создал закрытый отчет по различным веб-фреймворкам в AppFuse. Я уверен, что эти отчеты могут быть скорректированы, чтобы быть более точными, но я считаю, что они дают хороший общий обзор. Я разместил несколько графиков, которые отображают мои выводы в визуальной форме.

Когда я отправил это в список рассылки, Иван ответил, что в нем много кода, и, по оценкам, для CRUD-объекта потребуется 12 новых файлов . Это, конечно, мне кажется много, но он защитил это вчера и отметил, что его реализация следует многим из последних лучших практик GWT: шаблон MVP, Действия и Места, EventBus, Gin и Guice. Он также поделился страницей вики с объяснениями и диаграммами того, как все работает.

Причина, по которой я пишу этот пост, состоит в том, чтобы получить больше отзывов об этой реализации. Прежде всего, действительно ли GWT требует так много кода ? Во-вторых, есть ли другие реализации GWT, которые значительно сокращают шаблон? SmartGWT , Vaadin * и Errai приходят на ум.

Если бы вы начинали новый проект GWT и использовали AppFuse, как бы вы хотели его реализовать?

* Vaadin 7 утверждает, что его можно использовать в качестве замены для GWT . Я попытался заменить зависимости gwt-servlet и gwt-user на Vaadin, но это не сработало .