Вопрос о выборе фреймворка Java - PullRequest
2 голосов
/ 17 июня 2010

У нас есть много фреймворков, доступных на Java.Struts, Swing, JSF 2.0, Spring и т. Д. Используются в соответствии с их приоритетом.На самом деле, я не знаю, сколько их тоже!

Но, поскольку я более знаком с Java, даже изучая их архитектуру, я не могу решить, какую инфраструктуру можно использовать с типами проектов!

Также меня смущает смешанное использование фреймворков, таких как Spring + JSF.В чем выгода?

Еще одна вещь, которая меня смущает, - это компоненты пользовательского интерфейса, доступные на рынке.Например, у нас есть Primefaces, Ice-face, MyFaces, Rich-face.Они могут или не могли поддерживать встроенный AJAX.Они могут также содержать некоторые ошибки.Каков наилучший выбор для компонента Framework + UI, который может непосредственно предоставить лучшее решение для любого проекта?

Ответы [ 4 ]

9 голосов
/ 17 июня 2010

У нас есть много фреймворков, доступных на Java.Struts, Swing, JSF 2.0, Spring и т. Д. Используются в соответствии с их приоритетом.На самом деле, я не знаю, сколько их тоже!

Swing - это не веб-фреймворк.Это настольный пользовательский интерфейс.Вы, вероятно, путаете со Spring MVC.

Все эти платформы делятся на два вида:

  1. Основанные на запросе структуры MVC (Struts, Spring MVC).
  2. Компонентно-ориентированные инфраструктуры MVC (JSF, Wicket).

Компонентно-ориентированная структура MVC рассматривается как дальнейшее развитие основанной на запросах инфраструктуры MVC.Выберите основанную на компонентах инфраструктуру MVC, если вы хотите больше абстракции (то есть, в итоге вы получите представление и модель).Выберите основанную на запросе инфраструктуру MVC, если вы хотите больше контроля над частью контроллера.

См. Также :


Но, поскольку я более знаком с Java, даже изучая их архитектуру, я не могу решить, какую инфраструктуру можно использовать с какими типами проектов!

Как личное мнение,перейти на JSF 2.0.

См. также :


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

Пружина - это скорее структура для инъекций (инверсии управления).Можно сказать, это альтернатива EJB. Spring MVC - это основанный на запросах фреймворк.

См. Также:


Еще одна вещь, которая меня смущает, связана с компонентами пользовательского интерфейса, доступными на рынке.Например, у нас есть Primefaces, Ice-face, MyFaces, Rich-face.Они могут или не могли поддерживать встроенный AJAX.Они могут также содержать некоторые ошибки.Каков наилучший выбор для компонента Framework + UI, который может непосредственно предоставить лучшее решение для любого проекта?

MyFaces - это еще одна реализация JSF , а для остатка вы упоминаете только компонент JSFбиблиотеки.Они предназначены для использования поверх реализации JSF.Какой из них выбрать, зависит от того, какой из них наилучшим образом соответствует вашим функциональным требованиям (скинируемость, настраиваемость, улучшаемость и т. Д.).

В качестве личного мнения PrimeFaces 2.0 the best.

См. также:

2 голосов
/ 17 июня 2010

Серебряной пули нет.

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

1 голос
/ 17 июня 2010

Существуют рамки для разного рода проблем.

JSF - это веб-платформа (или, точнее, API для веб-платформы), основанная на сервлетах / JSP и обрабатывающая веб-интерфейс для вас, а Spring - это среда для настройки приложений и связывания компонентов приложений вместе запущенное приложение.

Таким образом, вы можете создавать небольшие компоненты, которые используют JSF Framework для создания веб-интерфейса и взаимодействия с пользователем, используя Hibernate для хранения и извлечения данных в базе данных, а также связывают их вместе с Spring для создания полноценного Web-приложения.

Поскольку JSF - это просто API, вам понадобится реализация, такая как IceFaces. Если вы четко следуете спецификациям, реализацию можно легко заменить. Таким образом, вы можете переключаться с IceFaces на MyFaces, не переписывая полное приложение.

0 голосов
/ 23 июня 2010

правый. Похоже, вопрос касается всего. В частности, он упоминает Struts и Swing через запятую. Swing, я уверен, также является фарм-работой, но это одна из многих не-веб-инфраструктур пользовательского интерфейса. Существуют также платформы ORM и многие другие типы. Можем ли мы назвать EJB и Spring фреймворками? Могу поспорить, мы можем. Плохо то, что хотя на интуитивном уровне мы часто можем сказать, является ли что-то фреймворком, я никогда не видел ни одного хорошего определения того, что такое фреймворк в программном обеспечении. Примерно в 50% случаев речь идет о веб-фреймворках, таких как Struts, JSF, Wicket, Velocity, HybridaJava или MVC, часть Spring. Существует около 50 только веб-фреймворков Java, все они очень разной природы и ценности, но их сравнение - настоящая головная боль. Недавно я заметил новую и растущую страницу о веб-фреймворках в Википедии. Путь запоздалый, но сейчас это прекрасно. Таблица там - хорошее начало для комарисонов.

...