GWT против Apache Wicket

Оба GWT и Wicket являются объектно-ориентированными, основанными на Java. GWT полностью клиент основан на таких функциях, как оптимизация javascript, оптимизация CSS, и я довольно новичок в Apache Wicket.

Чем больше я читаю о Wicket, тем больше похоже на GWT.

Итак, я думаю, вопрос в том, каковы различия между GWT и Wicket? Или я сравниваю яблоки с апельсинами?

Ответ 1

Это довольно много яблок для апельсинов.

Эта запись wiki содержит краткие сведения о сходствах и различиях, а также о начале стратегии их совместного использования, которая, по моему мнению, является интересная идея.

Wicket - это, прежде всего, серверная технология с некоторой встроенной поддержкой Ajax и крючками для подключения в более Ajax. Он не переводит Java на JavaScript, как GWT. Он поддерживает государственную серверную сторону, где GWT поддерживает состояние клиента.

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

Ответ 2

Я использую GWT (1.x и 2.x) и Wicket (1.4, 1.5) в большом проекте уже несколько лет, и обе структуры имеют свои преимущества и недостатки. Оба они классные и приятные, , если они используются для того, для чего они предназначены для. Но вы можете наилучшим образом сочетать с ними вместе.

  • Wicket действительно хорош и эффективен для сайтов CRUD, с хорошим разделением между дизайном страницы (HTML) и Java-кодом. До тех пор, пока вам не нужны мощные клиентские возможности, он делает это очень хорошо, на выигрыше немного сложного кода: но что выигрыш должен быть строго типизирован: нет "магии" "; рефакторинг и компонента работает как шарм. Для больших проектов он может быть легко развязан и хорошо разработан для работы с большими командами. Люди могут сосредоточиться на предоставлении хорошего набора основных компонентов, других на уровне презентации, и т.д. Единственный недостаток - это сложное поведение на стороне клиента, вам все еще нужно мастер Javascript, и он может легко стать довольно сложным, чтобы смешивать Wicket и Javascript самостоятельно.

  • GWT приятно, когда вам действительно нужны возможности богатого поведения на вашем клиенте (приложение, подобное GMail). Главная проблема с GWT заключается в том, что она выглядит слишком хорошо на бумаге (парадигма "все в Java" ), но она не выполняет ее promises. Он не масштабируется хорошо: GWT хорош для небольших модулей, предоставляющих небольшой набор функций, а не для больших приложений. Цикл кода/компиляции/отладки довольно длинный, и когда размер модуля становится слишком большим, он становится бременем. Также он не поддерживает хорошо большие команды, работающие одновременно в одном модуле.

Подводя итог, я бы предложил людям выбрать:

  • Используйте GWT экономно, когда он нужен действительно, сохраняя размер модуля small и никогда не пытайтесь полностью создать с ним большое приложение;
  • Используйте калитки для остальных (калитка действительно качается!).
  • Чтобы объединить обе вместе, используйте мощные компоненты Wicket для модульного GWT-кода в "калитки" (модули GWT становятся особым видом компонентов Wicket), и снова сохранить GWT small.

Ответ 4

Прошло 6 лет с тех пор, как эта тема была активной, и GWT в основном застаивается. Кажется, что Wicket гораздо более активно развивается и поддерживается. У кого-нибудь есть новые мнения о Wicket или других вариантах?

Ответ 5

Wicket - это серверная структура. Она намного больше похожа на JSf, чем на GWT. GWT концептуально похож на Swing, я разработчик ex-swing, очень легко перейти от swing to gwt. Но я не могу сказать то же самое для Wicket или JSF..

Ответ 6

Wicket - это серверная платформа. Это позволяет создавать html, который вам нужен. Возможно разделение ролей в проекте. (Веб-дизайн- > html/css- > java).

Если вы планируете использовать GWT для своего проекта, веб-дизайнеру, вероятно, не нужно.
GWT создает javascript. Большинство логики могут быть выполнены на стороне браузера. GWT лучше для масштабируемого приложения.