Play and Wicket - это оба каркаса с прочным дизайном и отличным, активным и отзывчивым сообществом. Я использовал Wicket в проекте среднего размера, и всякий раз, когда я задавал вопрос о Wicket mailing list, я получил почти мгновенную обратную связь.
Одним из основных различий между этими двумя рамками путем они обращаются государственной: Wicket хранит состояние на сервере во время воспроизведения следует «состояние-менее» принцип REST очень тесно, в пользу государства на клиенте (или в URL).
Рассмотрим, например, простой AJAX счетчик:
- В типичной реализации калиткой (см Wicket Ajax Counter example), вы бы хранить счетчик на сервере (в
Model[Integer]
). Когда вы нажимаете на ссылку, на сервер добавляется вызов AJAX, где обновляется модель (т. Е. Счетчик увеличивается) и разметка HTML для обновленного счетчика, отправленного назад и отображаемого.
- Реализация игры скорее всего будет хранить счетчик на странице клиента и использовать что-то вроде jQuery для обновления счетчика.
Сохранение состояния на сервере имеет свои преимущества (например, простота использования для программиста) и недостатки (состояние потери на тайм-аут сеанса), так в зависимости от бизнес-требований, одна структура может быть более подходящим, чем другой.
Если вы планируете программу в Scala, вы найдете больше поддержки (я думаю) в игровом сообществе или в лифте. см. также http://stackoverflow.com/questions/2104724/your-experience-with-scalawicket – oluies
Я не знаю, поддерживает ли Wicket Scala - что я знаю из своего опыта работы с обоими фреймворками (play 1.2.x), это то, что вы можете развиваться гораздо быстрее с помощью платформы воспроизведения, потому что в html/javascript/ajax вряд ли есть какие-либо ограничения, когда вызовы ajax могут быть сложными/много работы по реализации в калитки – evandongen