Шов с JSF v. Шов с GWT - PullRequest
       9

Шов с JSF v. Шов с GWT

3 голосов
/ 16 ноября 2010

Кто-нибудь сможет сравнить и сопоставить два решения? Я мало что знаю о Seam или JSF, хотя я знаком с тем, как работает GWT, и очень люблю его теорию.

Основные проблемы:

  • Масштабируемость / производительность

  • Кросс-браузерная совместимость

  • Кривая обучения

  • Производительность

  • Здание WYSIWYG UI

  • Способность максимально кодировать на Java (я могу коснуться JS / HTML / CSS, если возможно, но желательно нет)

Ответы [ 4 ]

3 голосов
/ 16 ноября 2010

Что касается реализации вашего приложения на стороне сервера, вы должны принять во внимание следующий момент (pro / con субъективен, поэтому вам следует принять решение) при использовании GWT вместо JSF.

  • Как уже упоминалось @ z00bs, с помощью GWT у вас будет приложение, похожее на настольное. Таким образом, вы не будете использовать / нуждаться в функции навигации по страницам или действиях страниц в Seam.
  • Все запросы от GWT к серверу являются краткосрочными. Это означает, что большинство ваших компонентов будут иметь ScopeType.EVENT или ScopeType.STATELESS, и вам не понадобится / не будет использоваться область разговора.
  • Использование GWT вместо JSF снижает нагрузку на сервер, поскольку большая часть состояния сохраняется на клиенте.
  • Вы не можете использовать жизненный цикл JSF / Seam с GWT. Например, вы теряете часть проверки модели в жизненном цикле. Проверка модели будет инициирована только с помощью менеджера сущностей или вручную
  • Все другие функции, такие как безопасность, рассылка или EL, все еще работают при использовании Seam с GWT.

Поскольку Seam хорошо известен своей поддержкой JSF, вам следует рассмотреть другую платформу, такую ​​как Spring roo , которая также тесно связана с GWT.

3 голосов
/ 16 ноября 2010

Что касается разработки вашего приложения на стороне клиента, мы должны были принять то же решение.

Мы решили пойти на GWT по следующим причинам:

  • Большая часть разработкиможет быть сделано в Java.Поскольку у нас есть большой опыт в разработке Java, это сэкономит нам много времени.
  • Мы могли бы использовать все известные и любимые инструменты для реализации, так как все сделано в Java.
  • НашиПриложение должно было стать настольным одностраничным веб-приложением без полного обновления страницы.В этот момент GWT, казалось, лучше всего подходил для этой потребности (и до сих пор это делает).
  • Передача большей части состояния клиенту и предоставление ему возможности выполнять большую часть трудоемкой обработки, обращенной к нам.Таким образом, сервер может обрабатывать большое количество одновременных запросов, а соединения с сервером необходимы только для синхронизации состояния на клиенте.
  • Поддержка Модульное тестирование Код GWT хорош в сочетаниис шаблоном MVP еще лучше.
  • С момента появления UiBinder создание и стилизация сложных пользовательских интерфейсов стало намного проще и быстрее.

К вашим основным проблемам:

  • Кросс-браузерная совместимость в основном обеспечивается самим GWT.
  • WYSIWYG возможен с GWT Designer (я долженскажем, я никогда не использовал его; мне нравится создавать пользовательский интерфейс сам ...)
  • GWT действительно быстр, потому что рендеринг выполняется на стороне клиента.
  • Производительность высока, когдавы привыкли к java.
  • Кривая обучения в основном зависит от используемой вами архитектуры (сначала MVP сложен).
  • Ваше приложение будет масштабироваться, поскольку сервер освобождается от дорогостоящей обработки.

Надеюсь, что это поможет.

(Некоторые соображения относительно выбора Шва скоро появятся в @kraftan).

1 голос
/ 16 ноября 2010

Область диалога, предлагаемая Seam, может быть легко заменена в GWT путем хранения длительных транзакций (например, корзин покупок) в памяти на стороне клиента.

0 голосов
/ 16 ноября 2010

Ни! не используйте шов (или JSF в этом отношении), если вам абсолютно не нужно! На Java столько хороших веб-технологий.

...