Не мешайте фреймворки или на чём писать новую систему

Пишу вот систему. Перед проектированием встал вопрос:

1. На чём писать.
2. Какие средства использовать.

На чём писать — вопрос отпал. Использовать для такой системы PHP — это была бы ошибка. Получилось бы нечто не очень хорошо работающее. Поэтому я решил использовать Java. Да-да, чтобы всё было энтерпрайзненько, производительно и всё такое.

Далее. Поскольку изначально предполагалось использовать такие классные вещи как календари, слайдеры и прочие достаточно стандартные компоненты, то мой выбор пал на primefaces. Эта реализация JSF предлагает очень много стандартных компонент для быстрого создания web-интерфейсов. Для серверной части я хотел использовать Spring. Зачем? Ну вот просто хотелось. Мне казалось, что это будет круто.

В итоге я пришёл к тому, что чудесным образом, сессия, создаваемая в момент авторизации, на стороне Spring Security была в ApplicationScope. Каким бы образом я её не заставлял создаться в SessionScope. Я проклял всё. Мне пришлось за несколько дней переписать весь интерфейс с JSF на обычный HTML и JSP. За MVC, соответственно начал отвечать Spring Web MVC.

Теперь, если работать, то будет:

1. EJB + JSF.
2. Spring + JSP.

JSF очень медленный. Некоторые компоненты творят сущий ад. Если нет нервных пользователей, который будут кликать во все места и перегружать AJAX запросами бедный JSF, то можно его использовать.

JSP страницы очень шустрые, но для Spring’а придётся писать всё самому. Все AJAX-валидации и прочее.

EJB очень быстро стартует и «масштабируемость-из-коробки». Spring имеет больше возможностей (которые и не всегда нужны).

В итоге у меня не получилось однозначного ответа, что всё-таки лучше использовать. Везде есть свои плюсы и минусы. Но одно я понял: лучше не мешать в одном месте JSF и Spring.

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *