Буквально на днях вышла новая (пока нестабильная) версия Spring-Roo одной из основных фич которой является поддержка генерации пользовательского интерфейса на GWT.
Мне стало интересно, сегодня поэксперементировал, под катом перевод моего блога (для тех кому лень читать на английском) с описанием как сделать GWT приложение менее чем за 30 минут. Надеюсь хабровчанам это покажется интересным и полезным.
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 сгенерит для нас исходные коды проекта. В итоге мы имеем практически стандартный проект использующий maven для сборки.
Запустим его:
Тут придется какое-то время подождать, потому как во время сборки будут закачаны все необходимые библиотеки (а их достаточно много). Повторные сборки будут проходить значительно быстрей.
Скопируем предложеный URL и откроем его в браузере
Ваше GWT приложение готово!
Spring-Roo — идея хорошая, но его интеграция с GWT пока сыровата — многие вещи не работают.
Но использовать его для (например) изучения и быстрого старта — вполне возможно — в чем он вам, я надеюсь, и поможет
Мне стало интересно, сегодня поэксперементировал, под катом перевод моего блога (для тех кому лень читать на английском) с описанием как сделать GWT приложение менее чем за 30 минут. Надеюсь хабровчанам это покажется интересным и полезным.
О чем речь
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
Тут придется какое-то время подождать, потому как во время сборки будут закачаны все необходимые библиотеки (а их достаточно много). Повторные сборки будут проходить значительно быстрей.
Скопируем предложеный URL и откроем его в браузере
Ваше GWT приложение готово!
Выводы
Spring-Roo — идея хорошая, но его интеграция с GWT пока сыровата — многие вещи не работают.
Но использовать его для (например) изучения и быстрого старта — вполне возможно — в чем он вам, я надеюсь, и поможет