2010-04-15 2 views
6

Что лучше всего, или, другими словами, самый простой в использовании? Полосы или JSF.JSF vs Stripes, что лучше?

Хотя я не использовал оба в гневе, мне нужно оценить, что лучше всего подходит для запуска новых проектов и преобразования существующих проектов Struts.

У меня есть страх, что JSF не будет выглядеть так хорошо, как я хочу, но что такое другие события? Кажется, что полосы намного более прямые, верно ли я в этом предположении?

ответ

14

Какой из них лучше всего, или другими словами, который проще всего использовать? Полосы или JSF.

Какой? Ну, Stripes и JSF отличаются. Первый представляет собой основанную на действии структуру (например, Struts), а более поздняя - на основе компонентов (например, Wicket). Таким образом, ответ будет зависеть от вашего опыта и знаний о потоке, основанном на действии, и иерархии на основе компонентов, и у обоих есть свои сильные и слабые стороны. Какой из них самый простой? Полосы, никаких сомнений в этом.

Что мне нравится Stripes:

  • Это просто и легко, т.е. он имеет низкую кривую обучения.
  • Мне нравится его соглашение по настройке.
  • Это легкий вес.
  • Это хорошо документировано (и вам не нужна тонна документации из-за его простоты).
  • У этого есть небольшое , но реактивное сообщество (вы получите ответы на mailing lists).

Если они новы для вас, я бы пошел на Stripes. Если вы хотите изучить основы на основе компонентов, я думаю, что начать с Wicket проще (также посмотрите, что говорит Gavin King в How to start learning Java EE 6).

+2

+1 Я очень согласен со всеми этими моментами (особенно с документами - я был удивлен, насколько они хороши, поэтому многие инструменты с открытым исходным кодом оставляют желать лучшего, поваренная книга с полосками потрясающая!) (мой опыт общения с сообществом полос был менее быстрым!) –

+0

@James Хорошая точка, восприятие скорости как-то субъективно, и я обновил свой ответ. –

+3

Полосы просто скалы! Это самая элегантная среда MVC, которая не нуждается в сложной конфигурации XML. Он не имеет крутой кривой обучения, предлагает дружественные ссылки для SEO и молниеносно! – Kdeveloper

1

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

+4

Не согласен - более «странное» вещество происходит в JSF, потому что это намного сложнее. Этого достаточно для меня * не * использовать. – Nate

+0

Неправда. JSF страдает от многих проблем, которые не решаются из этой предполагаемой «лучшей поддержки». – foxdonut

1

Я бы использовал JSF. Он используется гораздо шире, и iceFaces - очень удобный пакет для приложений на базе JSF.

+0

почему голос? Помогите объяснить, пожалуйста? – CoolBeans

0

Шов - хороший стек приложений для разработки приложений JSF, не уверенный о Stipes.

  • Конверсии
  • Хорошая поддержка Ajax
  • Богатый набор компонентов
  • Аннотации по конфигурации XML

Одна вещь, которую я не люблю о JSF является высота кривой обучения особенно если вы новый посетитель JSF.

+4

JSF 2 с facelets намного, намного приятнее, чем JSF 1. –

2

Лучший веб-каркас? Как часто этот вопрос приводит к ответу «это зависит».

Другой вопрос: «что проще всего использовать в каркасе». Легче ответить, что Полосы. JSF имеет печально известную крутую кривую обучения.С другой стороны, полоски легко настраиваются и просты в освоении.

Рамка Stripes похожа на Struts, но только лучше. Для example он использует аннотации вместо файлов конфигурации XML. Так же, как основа Struts, это основанная на действии структура, только более элегантная. Это означает, что он внимательно следит за природой обработки событий HTTP без учета состояния. Это хорошо, если вам нужна высокая производительность и максимальная гибкость в том, как создаются страницы.

Структура, подобная JSF, не основанная на действии инфраструктура, а основанная на компонентах инфраструктура. Это означает, что он перемещает слой абстракции между HTTP и вашим приложением. Этот уровень позволяет программировать приложения JSF так, как если бы вы программировали приложение Swing. Таким образом, JSF в основном обрабатывает несоответствие парадигмы между моделью компонентов и жизненным циклом безстоящего HTTP. Однако этот уровень абстракции будет стоить некоторого труда; также он даст вам несколько меньшую степень контроля над сгенерированным HTML.

0

Полосы, подобные Struts, на самом деле не так уж много для вашего приложения. Помимо элементарной маршрутизации и заполнения форм и выполнения действий она практически ничего не делает. В прошлый раз, когда я проверил большинство (всех) полос, теги в основном являются фасетками для эквивалентного тега html с небольшими или вообще отсутствующими дополнениями. Это говорит о том, что JSF дает больше, но если вам нужна настоящая технология, которая не застряла в 2000 году, рассмотрите GWT.

1

JSF является частью Java EE 6+. Это означает, что он будет доступен и поддерживается в течение очень долгого времени, что важно для нас.

Также могут возникнуть различные варианты реализации, которые позволят вам выбрать лучший для данной цели.

3

JSF не имеет хорошей прессы, и плохая репутация ненадлежащим образом оправдана (еще одна упущенная возможность покойного Sun Microsystems). Но, НО много изменилось с тех пор, как был задан вопрос - была выпущена новая версия JSF 2.0.

Так что же случилось с JSF 1.X, что заставило его задуматься по сравнению с Stripes, Spring MVC или Wicket, Play, Click и т. Д.?

  1. только запросы POST были поддержаны, что вызвало проблемы с производительностью (GET запросы могут быть эффективно кэшировать), трудно достичь bookmarkable URL-адреса и многое другое
  2. JSF 1.X был основан на страницах JSP, которые не подходили для обработки более сложного жизненного цикла страницы JSF
  3. Создание компонентов было сложным и громоздким.
  4. Определение правил судоходства было далеко от гибкой и очень многословной
  5. обязательной конфигурации XML
  6. метод Нет чистой управления ресурсами

Хорошая вещь в том, что все эти недостатки были рассмотрены в новой версии JSF.

  1. Запросы GET и POST одинаково хорошо поддерживаются.
  2. Конфигурация может быть выполнена с помощью аннотаций (мы можем придерживаться XML, где это лучшее решение), определения правил навигации упрощены, мы даже можем использовать условный подход к настройке.
  3. Создание компонентов легко.
  4. Есть новые и очень полезные области компонентов: область обзора и область флэш-памяти (аналогично тому, как это известно из Ruby on Rails), которые позволяют пользователям обрабатывать более сложные потоки.
  5. Существует стандартный метод управления ресурсами и лучшая управляемость объект ошибки
  6. Мы можем определить этапы проекта для облегчения обработки проектов в различных средах (тестирования, производства и т.д.)
  7. на основе XHTML Facelets заменил JSP, как гораздо лучше определение представления альтернатива
  8. Поддержка встроенных AJAX-запросов
  9. JSF является частью стандарта Java EE, а это означает, что они не собираются исчезать за одну ночь, если разработчики изредка решают перейти к следующей блестящей и более модной структуре.

И последнее, огромное преимущество JSF 2.X: тоны хорошо спроектированных, великолепно выглядящих и хорошо готовых к использованию компонентов (RichFaces, PrimeFaces, ICEFaces). Эти библиотеки предоставляют сотни обычно используемых на страницах страниц WWW, которые доступны без написания одной строки JavaScript или CSS. Это огромный прирост производительности.

Тем не менее, JSF может иметь проблемы с производительностью по сравнению с основанными на действии фреймами, такими как Stripes, которые более тесно работают с HTTP-запросами, без создания компонентной модели (которая использует больше памяти, больше пропускной способности сети).

Но для применения, которое не должно быть чрезвычайно эффективным, JSF 2.0 - очень хороший и рациональный выбор. Кривая обучения уже не такая крутая, как есть плюс возможность повторного использования существующих компонентов делает ее действительно привлекательной. Глядя с этой точки зрения, полосы не так привлекательны.

Так, например, для корпоративного приложения, используемого в 2000 году, JSF 2.0 будет отличным выбором.

+0

Спасибо Piotr, так как задаю вопрос, я переехал на работу и знаю в глубине приложения JSF 1.2. JSF 2.0 находится на карточках по тем причинам, которые вы заявляете. – enkor

Смежные вопросы