интеграция Grails и GWT

GWT кажется действительно хорошей технологией для разработчиков Java, которые не любят (или не знают) HTML / JS / CSS для создания многофункциональных веб-интерфейсов. На стороне сервера Grails также выглядит очень красиво, его часто называют «Rails для разработчиков Java». Я читал, что подход Grails «соглашение по конфигурации» вместе с преимуществами динамических языков (Groovy) действительно может уменьшить объем (шаблонного) кода, который необходимо написать, при этом используя лучшие в своем классе технологии Java. такие как Spring и Hibernate.

Во всяком случае, я мало читал о том, насколько хорошо эти технологии работают вместе. Насколько легко интегрировать GWT с Grails на стороне сервера? Мне было бы интересно узнать об опыте любого, кто создал приложение с этими технологиями? Рекомендации по ресурсам (книги / веб-сайты) для создания веб-сайта GWT-Grails также будут очень приветствоваться.

Привет, Дон


person Dónal    schedule 21.11.2008    source источник


Ответы (4)


В Grails уже есть подключаемый модуль gwt: попробуйте.

person Miguel Ping    schedule 22.11.2008

Вы упомянули на стороне сервера - GWT и grails на самом деле плохо интегрируются на стороне сервера (не так хорошо, как вы могли ожидать, учитывая, насколько хорошо работают объекты домена grails). Для RPC плагин работает очень хорошо.

Проблема в том, что объекты домена нельзя сериализовать и передавать по сети - в конце концов, это отличные объекты. Вам нужно будет настроить объект передачи данных (DTO) и выполнить маршалинг вручную. Его можно автоматизировать, но нет никакого кода с открытым исходным кодом, который делал бы это atm, поэтому развертывание собственного кода - единственное решение.

Или посмотрите, сможете ли вы заставить Hibernate4gwt работать с grails - но я сомневаюсь, что он будет работать из коробки.

person Chii    schedule 23.11.2008
comment
дополнение: GWT теперь довольно хорошо интегрируется с grails 1.1.x - плагин gwt значительно улучшен по сравнению с тем, что я слышал. - person Chii; 28.10.2009

Другой подход: используйте Grails с SmartGWT. Вместо GWT-RPC (слишком сложного и, как отмечали другие, не очень хорошо работает с Grails) используйте интеграцию на основе REST, поскольку Grails имеет отличную поддержку сериализации в XML или JSON, а SmartGWT имеет встроенную поддержку REST. Взгляните на этот блог, в котором показан образец исходного кода - до смешного легко создать многоразовый экран с подробными сведениями для любого объекта Grails.

http://josip-dev.blogspot.com/2010/06/grails-smart-gwt.html

person Charles Kendrick    schedule 31.07.2010

с преимуществами динамических языков (Groovy) действительно может уменьшить объем (шаблонного) кода, который необходимо написать

Это то, что все время проповедовали люди из лагеря RoR. После некоторого начального бума проекты RoR столкнулись с неизбежными проблемами с более крупными проектами. Чем крупнее проекты, тем больше работы следует делегировать компилятору, т.е. тем ценнее статические языки. В настоящее время бум RoR практически ушел.

Например, количество (дополнительного) кода, которое вам нужно написать сейчас с помощью JPA / Hibernate, почти равно нулю. Только аннотации. Он даже находит сопоставленные bean-компоненты во время выполнения через путь к классам! SpringFramework также делает устаревшими многие другие "шаблонные" кодовые элементы.

В моем проекте GWT (пока один, должен признать) я использую JPA (Hibernate), слой DAO, шаблон бизнес-делегата, и он простой и надежный.

person Vladimir Dyuzhev    schedule 21.11.2008
comment
FWIW, я не согласен с вашим предположением, что статические языки - единственный верный путь. Сторонники динамических языков утверждают, что многословие проверки статических типов частично отвечает за упомянутые вами крупные проекты. - person Dónal; 24.11.2008