Я новичок в StackExchange, но я подумал, что вы сможете мне помочь.
Мы создаем новое приложение Java Enterprise, заменяющее устаревшее решение JSP. Из-за множества изменений пользовательский интерфейс и части бизнес-логики будут полностью переосмыслены и реализованы.
Нашей первой мыслью была JSF, так как это стандарт в Java EE. Сначала у меня сложилось хорошее впечатление. Но сейчас я пытаюсь реализовать функциональный прототип, и у меня есть некоторые серьезные опасения по поводу его использования.
Прежде всего, он создает худшее, наиболее загроможденное недопустимое сочетание псевдо-HTML / CSS / JS, которое я когда-либо видел. Это нарушает все правила, которые я выучил в веб-разработке. Кроме того, он объединяет то, что никогда не должно быть так тесно связано: макет, дизайн, логика и связь с сервером. Я не понимаю, как мне было бы удобно расширять этот вывод, будь то стилизация с помощью CSS, добавление конфет пользовательского интерфейса (например, настраиваемые горячие клавиши, виджеты с перетаскиванием и т. Д.) Или что-то еще.
Во-вторых, это слишком сложно. Его сложность является выдающейся. Если вы спросите меня, это плохая абстракция основных веб-технологий, в конце концов искалеченных и бесполезных. Какие преимущества у меня есть? Нет, если подумать. Сотни компонентов? Кроме того, я вижу десятки тысяч фрагментов HTML / CSS, десять тысяч фрагментов JavaScript и тысячи плагинов jQuery. Это решает действительно много проблем - у нас не было бы, если бы мы не использовали JSF. Или шаблон фронт-контроллера вообще.
И, наконец, я думаю, что нам придется начинать сначала, скажем, через 2 года. Я не понимаю, как я могу реализовать весь наш первый макет GUI (кроме того, в нашей команде нет эксперта JSF). Может быть, мы могли бы как-нибудь взломать это вместе. И тогда будет больше. Я уверен, что мы можем взломать наш взломать. Но в какой-то момент мы застрянем. Из-за всего вышеперечисленного уровень обслуживания находится под контролем JSF. И нам придется начать все сначала.
Мое предложение было бы реализовать API REST, используя JAX-RS. Затем создайте клиент HTML5 / Javascript с клиентской стороной MVC. (или какой-то вкус MVC ..) Кстати; В любом случае нам понадобится API REST, так как мы также разрабатываем частичную оболочку Android.
Я сомневаюсь, что JSF является лучшим решением на сегодняшний день. Поскольку Интернет развивается, я действительно не понимаю, почему мы должны использовать эти «грабли».
Теперь, каковы плюсы / минусы? Как я могу подчеркнуть свою точку зрения не использовать JSF? Каковы сильные стороны, чтобы использовать JSF над моим предложением?