Как стать автором
Обновить

Отрицательный опыт с GWT

Время на прочтение2 мин
Количество просмотров2.1K
В наше время, считается дурным тоном разрабатывать веб-приложения без применения AJAX. Вот и я решил не отставать от всего мира и идти в ногу с web 2.0 технологиями. Немного исследовав тему на предмет, что есть AJAX, решил остановить свое внимание на GWT framework'е. Идея GWT достаточно заманчива для java-разработчика т.к. позволяет создавать AJAX приложения не зная javascript. Весь код пишется на java, который позже компилируется в javascript исходники.
Почитав некоторое время документацию, я понял, что GWT-приложение – это один главный компонент, который содержит в себе другие компоненты (элементы интерфейса). Главный компонент является точкой входа в приложение GWT. Все запросы от элементов интерфейса проходят через контроллер главного компонента.

Попрактиковавшись с API и более-менее освоившись, решил прикрутить Spring к GWT. К сожаление использовать связку Spring плюс GWT с ходу не получится. Причина – все запросы проходят через специальный GWT сервлет. Оценив ситуацию, понял, чтобы подружить Spring и GWT требуется дополнительно время на исследование и реализацию, что конечно меня не обрадовало т.к. это уже некое шаманство. Но отказываться от Spring я не хотел, поэтому полез в google в надежде найти готовые реализации. Как оказалось все не так плохо. В сети хватает решений для данной задачи (http://code.google.com/p/gwtrpc-spring, technophiliac.wordpress.com/2008/08/24/giving-gwt-a-spring-in-its...).
Сборка проект на GWT не является сложной. Для этого существуют ant-скрпты. Лично я давно перестал использовать ant для сборки проектов. Maven куда удобней для этих целей. Сделав несложный поисковый запрос в google нашел проект поддерживающий сборку maven-проекта на GWT (http://code.google.com/p/gwt-maven).

Следующим шагом нужно было интегрировать Acegi Security (Spring Security). Данная задача тоже не так проста. Найти какое-либо приемлемое решение мне не удалось (возможно, в будущем появиться). Поэтому решил настраивать безопасность стандартными средствами web-контейнера.

Поработав с GWT в общей сложности где-то полтора месяца и узнав более глубже нюансы разработки под GWT принял решение — данный фреймворке мне не подходит. Как итог моих изысканий можно сделать вывод:
GWT тяжело интегрируется с другими продуктами (Spring, Acegi). Интеграцию сложно выполнить без нарушения стандартного цикла разработки под GWT, что может привести к несовместимости с будущими версиями GWT (нужно это учитывать). Отладка GWT приложения выполняется через GWT-консоль. Отладка в GWT-консоли – это обычный анализ логов. То есть, Вам придется забыть про всю мощь отладчика среды разработки. Еще один недостаток – GWT приложение не будет проиндексирован поискавиками т.к. GWT – это javascript, который, как известно не парсится индексирующими работами поисковиков.
Теги:
Хабы:
Всего голосов 10: ↑4 и ↓6-2
Комментарии10

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань