Pull to refresh

GWT приложение за 30 минут

Reading time2 min
Views13K
Буквально на днях вышла новая (пока нестабильная) версия Spring-Roo одной из основных фич которой является поддержка генерации пользовательского интерфейса на GWT.

Мне стало интересно, сегодня поэксперементировал, под катом перевод моего блога (для тех кому лень читать на английском) с описанием как сделать GWT приложение менее чем за 30 минут. Надеюсь хабровчанам это покажется интересным и полезным.
image

О чем речь


Spring-Framework — один из самых популярных framework-ов для Java. Я думаю практически каждый кто писал web-приложения на Java сталкивался с ним;
Spring-Roo — утилита для быстрой генерации проекта: entity-классы для работы с базой, типовой CRUD, ряд других типовых задач. Я так понимаю, идея растет из Ruby-On-Rail — но могу ошибаться
GWT — библиотека для создания современных web-приложений с активным использованием ajax. Разработана Google и все больше и больше набирает популярность

Для начала нам потребуется JDK 1.6 (какая неожиданность!) и Apache Maven. Я надеюсь у людей, интересующихся GWT и Spring эти продукты ставятся сразу же после установки операционной системы.

Качаем последнюю версию Spring-Roo 1.1M1 с сайта Spring Source

Качаем скрипт для roo: clinic.roo — это почти такой же clinic.roo что идет в примерах, но только адаптированный для использования GWT:
* Закоментированы enum-ы — они видимо не поддерживаются пока-что;
* Boolean поле изменено с примитива на java.lang.Boolean (так же приводило к ошибке компиляции — видимо пока-что не поддерживается)
* Ссылка один-ко-многим (в виде коллекции Set) — закоментирована — не поддерживается пока при генерации GWT
* Calendar заменен на Date;
* Закоментирован код генерирующий пользовательский интерфейс на Spring-MVC
* И включена генерация интерфейса на GWT (команда gwt setup)

Запускаем этот скрипт:
# roo
roo> script --file clinic.roo
roo> exit

Ждем некотое время пока roo сгенерит для нас исходные коды проекта. В итоге мы имеем практически стандартный проект использующий maven для сборки.

Запустим его:

# mvn gwt:run


Тут придется какое-то время подождать, потому как во время сборки будут закачаны все необходимые библиотеки (а их достаточно много). Повторные сборки будут проходить значительно быстрей.
image

Скопируем предложеный URL и откроем его в браузере
image

Ваше GWT приложение готово!

Выводы


Spring-Roo — идея хорошая, но его интеграция с GWT пока сыровата — многие вещи не работают.
Но использовать его для (например) изучения и быстрого старта — вполне возможно — в чем он вам, я надеюсь, и поможет
Tags:
Hubs:
Total votes 36: ↑30 and ↓6+24
Comments19

Articles