GWT против Apache Wicket - PullRequest
       20

GWT против Apache Wicket

11 голосов
/ 05 января 2011

И GWT, и Wicket настроены на состояние и ориентированы на Java.GWT полностью основан на клиенте с такими функциями, как оптимизация JavaScript, оптимизация CSS, и я довольно новичок в Apache Wicket.

Чем больше я читаю о Wicket, тем больше он похож на GWT.Поэтому я думаю, что вопрос - в чем различия между GWT и Wicket?Или я сравниваю яблоки с апельсинами?

Ответы [ 6 ]

26 голосов
/ 16 марта 2012

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

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

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

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

  • Используйте GWT экономно, когда он действительно необходим, сохраняя размер модуля маленький , и никогда не пытайтесь создать полностью большое приложение полностью с ним;
  • Используйте калитку для отдыха (Калитка действительно потрясающая!).
  • Чтобы объединить их вместе, используйте мощные компонентные возможности Wicket для модульной модификации кода GWT «путями калитки» ( модули GWT становятся особым видом компонентов Wicket ), и снова, keep GWT маленький .
8 голосов
/ 05 января 2011

Это в значительной степени яблоки с апельсинами.

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

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

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

2 голосов
1 голос
/ 13 октября 2017

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

0 голосов
/ 12 декабря 2017

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

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

0 голосов
/ 05 января 2011

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

...