Какая платформа Java работает лучше всего с Google Web Toolkit?

Я думаю, что это ошибка: https://github.com/spring-projects/sts4/issues/205

Она уже исправлена ​​в последних ночных сборках STS4 а также последние сборки снимков LSP4E. Если вы не хотите ждать выпуска STS 4.2.0 (он должен появиться на следующей неделе), вы можете установить последнюю версию LSP4E с их сайта моментальных снимков.

5
задан Click Upvote 2 April 2009 в 20:04
поделиться

6 ответов

Я предполагаю, что Вы не имеете в виду веб-платформу, так как GWT является самостоятельно платформой. Я использовал бы JSF для обработки стороны приложения/бизнес-логики. Это помогает сохранить и определить объем бобов и получить доступ к DB. Для чтения DB любая разновидность JPA Вам нравится. У меня был хороший expierence с Eclipselink, но теперь они все реализуют те же интерфейсы. Также Вы могли бы хотеть посмотреть на EJBs, чтобы бросить все вместе и ввести JPA, в котором Вы будете нуждаться.

2
ответ дан 18 December 2019 в 07:32
поделиться

Spring является очевидным, который необходимо использовать. GWT имеет свою собственную платформу контроллера RPC, таким образом, я не могу действительно думать, для чего Вы нуждались бы в Платформе веб-приложений (как JSF).

JPA является разумным выбором на нескольких передних сторонах, но он имеет проблемы также.

С одной стороны, потенциально отправка проблемы JPA возражает против клиента. GWT (до 1,5, по крайней мере) осуществляет довольно строгую структуру каталогов, таким образом, необходимо было бы подвергнуть объекты исходному дереву GWT. То, что в стороне, сериализируя (JSON обычно) объекты JPA к и от клиента потенциально проблематично.

Объекты JPA являются довольно твердыми объектами, которые отображаются почти непосредственный на Ваши таблицы. Это не имеет тенденцию быть, как Вы используете данные на уровне представления как бы то ни было. Прямой SQL позволит Вам привередничать, какие данные Вы делаете и не хотите, адаптированный специально для той страницы. Таким образом, объекты JPA будут обычно иметь много полей, которыми Вы не интересуетесь и не должны сериализировать (особенно наборы связей "один ко многим").

Теперь, когда аспект SQL - адаптации его к странице - часто цитируется в качестве преимущества объектов: Ваш код не заканчивается замусоренный объектами значения с одним использованием. Вещь, Вы все еще заканчиваете с тем же самым в gWT+JPA, но вместо того, чтобы находиться в слое персистентности или бизнес-слое Вы заканчиваете с ними в уровне представления. Теперь Вы могли бы назвать это преимуществом. Я называю это шестью из один, полдюжиной из другого.

Я на самом деле думаю, что Ibatis является намного лучшим соответствием к прикладной модели GWT, чем JPA по причине, что Вы используете прямой SQL, объекты, адаптированные для Вашей цели и тех объектов, могут использоваться полностью от базы данных до клиента. Теперь это понятие может ужаснуть зилотов разделения на уровни, которые довольно распространены в Java, сажают, но не забывают разделять на уровни, средство для конца не самоцель. Используйте его, если это помогает Вам. Не делайте, если это не делает.

Но Spring является насущной необходимостью в этом стеке.

Я также отошлю Вас к тому, Почему Google Web Toolkit не более популярен? и Используя ORM или плоскость SQL?.

8
ответ дан 18 December 2019 в 07:32
поделиться

Если вы разрабатываете больше приложений, таких как сайты, а не сайты на основе страниц, я бы рекомендовал взглянуть на фреймворк с открытым исходным кодом Vaadin . Это управляемая сервером структура, которая использует GWT на стороне клиента для рендеринга интерфейса, но также автоматически обрабатывает и сохраняет конфиденциальную бизнес-логику на стороне сервера. Это добавляет некоторую безопасность, и вам не нужно беспокоиться о трафике client <-> server (если вы этого не хотите), но вы можете сосредоточиться на реализации логики на стороне сервера любым удобным для вас способом. Самый большой плюс в том, что вам действительно не нужно кодировать что-либо еще, кроме Java. Также довольно легко реализовать собственные новые компоненты GWT во фреймворке.

Отказ от ответственности: Да, я работаю в IT Mill, разрабатывая Vaadin, но взгляд еще никому не повредил, не так ли?

5
ответ дан 18 December 2019 в 07:32
поделиться

Теперь я использую GWT + Struts + Spring + Hibernate
Лучше использовать обмен данными json вместо использования веб-сервиса GWT.
Для этого мы можем разделить логику и представление.

3
ответ дан 18 December 2019 в 07:32
поделиться

Ой, эти ответы режут мне глаза. JSF, если вы мазохист, или Spring, если вы клинически безумен;)

Если вы используете встроенный GWT RPC, тогда вам не нужна веб-инфраструктура, вы просто используете механизм RPC для общения с вашим сервером. Для внутренней базы данных и бизнес-логики вы просто используете стандартные сессионные компоненты JPA и объекты POJO. Это чрезвычайно легкий, простой в использовании и поддерживаемый стек без каких-либо проблем. Если вы собираетесь создавать формы за пределами GWT, сделайте себе одолжение и попробуйте также Stripes.

В ASCII Graphix:

База данных


Сеансовые компоненты и POJO JPA


Web Уровень для обработки маршрутизации между GWT и уровнем EJB


GWT работает как javascript в браузере, используя все POJO, определенные вами на уровне EJB

2
ответ дан 18 December 2019 в 07:32
поделиться

Я использую GWT в основном для внутренних систем, но все, что мне нужно, это хорошо организованная кодовая база, шаблон PAC и Hibernate. Очень хорошо делает то, что мне нужно.

Я начал с попытки использовать такие инструменты, как dozer, для сериализации bean-компонентов между клиент-сервером, но быстро обнаружил, что это не нужно. Если вам нужен набор баров на foo, разверните список, известный как getBars (foo). Вам нужно сохранить foo - RPC до save (). Сохраняйте простоту, снимайте то, что вам нужно, публикуйте то, что вам нужно, не более того. Поддерживайте состояние клиента, и все это прекрасно сочетается.

Для меня важнее всего было осознать тот факт, что GWT не занимается созданием веб-приложений. Речь идет о создании приложения в Интернете. Совсем другое дело.

GurffT

РЕДАКТИРОВАТЬ: Забыл сказать, что у меня есть логический уровень, взаимодействующий со стороной сервера объектов DAO, но они довольно просты и просто создаются с помощью new!

затем откройте список, известный как getBars (foo). Вам нужно сохранить foo - RPC до save (). Сохраняйте простоту, снимайте то, что вам нужно, публикуйте то, что вам нужно, не более того. Поддерживайте состояние на клиенте, и все это прекрасно сочетается.

Для меня важнее всего было осознать тот факт, что GWT не занимается созданием веб-приложений. Речь идет о создании приложения в Интернете. Совсем другое дело.

GurffT

РЕДАКТИРОВАТЬ: Забыл сказать, что у меня есть логический уровень, взаимодействующий со стороной сервера объектов DAO, но они довольно просты и просто создаются с помощью new!

затем откройте список, известный как getBars (foo). Вам нужно сохранить foo - RPC до save (). Сохраняйте простоту, снимайте то, что вам нужно, публикуйте то, что вам нужно, не более того. Поддерживайте состояние на клиенте, и все это прекрасно сочетается.

Для меня важнее всего было осознать тот факт, что GWT не занимается созданием веб-приложений. Речь идет о создании приложения в Интернете. Совсем другое дело.

GurffT

РЕДАКТИРОВАТЬ: Забыл сказать, что у меня есть логический уровень, взаимодействующий со стороной сервера объектов DAO, но они довольно просты и просто создаются с помощью new!

Речь идет о создании приложения в Интернете. Совсем другое дело.

GurffT

РЕДАКТИРОВАТЬ: Забыл сказать, что у меня есть логический уровень, взаимодействующий со стороной сервера объектов DAO, но они довольно просты и просто создаются с помощью new!

Речь идет о создании приложения в Интернете. Совсем другое дело.

GurffT

РЕДАКТИРОВАТЬ: Забыл сказать, что у меня есть логический уровень, взаимодействующий со стороной сервера объектов DAO, но они довольно просты и просто создаются с помощью new!

1
ответ дан 18 December 2019 в 07:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: