Каковы плюсы и минусы сортированных фреймворк Java?

голоса
83

Я рассматриваю создания моего собственного веб-сайта с помощью Java и пытаюсь решить, какие рамки для использования. Тем не менее, делая быстрый поиск в рамках Java возвращает более чем 50 на выбор!

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

Каковы основные различия между более популярными рамками? Есть случаи, когда один значительно превосходит другие? Например, корпоративные приложения высокого трафика по сравнению с низким трафиком небольших приложений. Я также интересно, если некоторые из них гораздо проще в освоении и использовании, чем другие.

Есть ли кто-нибудь, кто имеет опыт работы с некоторыми из этих рамок и может дать рекомендацию? Есть ли просто служить огромное количество вариантов, как раннее предупреждение, чтобы избежать веб-разработки Java на основе, где это возможно?

Задан 23/08/2008 в 21:58
источник пользователем
На других языках...                            


24 ответов

голоса
57

Я использовал Гобелен 3 , Wicket , Echo и JSF довольно широко. Я действительно рекомендую вам посмотреть тех , кто старше и выбрать тот , который появляется самый простой для вас, и наиболее близко подходит так , как вы предпочитаете работать.

Из них наиболее удобно для меня , чтобы работать с была калитка , из - за легкую природу компонентов здания и простоту страницы шаблонов. Это идет вдвойне, если вы используете свой собственный дб код вместо Hibernate или некоторые другие рамки (я никогда не был полностью доволен калиткой Hibernate или Spring Integration).

Эхо является большим , если вы не возражаете писать все макет в Java. Я знаю , что разные, но я до сих пор считаю , что продукт служит довольно узкую нишу. Они изменяют модель развития с каждым основным выпуском, так кажется.

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

JSF уже в течение многих лет, и до сих пор чувствует себя как - то , что Struts парень построил , чтобы исправить все проблемы Struts. Без реального понимания всех проблем , связанных с Struts. Он по- прежнему имеет незаконченное чувство к нему, хотя продукт, очевидно , очень гибкий. Я использую его , и есть любовь к ней, с большими надеждами на будущее. Я думаю , что следующий релиз (2,0) , который будет доставлен в JEE6 действительно привести его в своем собственном, с новым синтаксисом шаблона ( по аналогии с Facelets) и упрощенной моделью компонентов (пользовательские компонентами только 1 файл ... в конце концов).

И, конечно же , есть миллион меньших структур и инструментов , которые получают их собственный следующий ( Velocity для удовлетворения основных потребностей, сырье страниц JSP , Struts и т.д.). Я вообще предпочитаю компонент , ориентированные рамочные структуры сам, хотя.

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

Ответил 24/08/2008 в 00:39
источник пользователем

голоса
38

Мой любимый Spring Framework. С 2,5 Spring MVC тааак надрать задницу, с новыми аннотациями, условность над особенностями конфигурации и т.д.

Если вы просто делаете что-то супер просто вы также можете просто попробовать использовать регулярный Servlet API, а не возиться с рамками.

Ответил 23/08/2008 в 22:55
источник пользователем

голоса
25

Я рекомендую компонент ориентированного Wicket рамки. Это позволяет написать веб - приложение в простом старом коде Java, вы можете использовать POJO , в качестве модели для всех компонентов и не нужно возиться с огромными файлами конфигурации XML.

Я успешно разработал онлайн банковское приложение с Struts, когда я обнаружил Wicket и увидел, как легко разработки веб-приложений может быть!

Ответил 25/08/2008 в 22:16
источник пользователем

голоса
17

Я недавно начал использовать Stripes Framework . Если вы ищете рамки на основе запроса , который очень легко использовать, но не накладывает никаких ограничений на то , что вы делаете , я настоятельно рекомендую.

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

Есть много хороших рамок там, хотя я слышал, калитка хороший, как хорошо, но я не использовал его.

Ответил 25/08/2008 в 15:04
источник пользователем

голоса
16

Не пробовал это сам, но я думаю,

http://www.playframework.org/

имеет большой потенциал ...

исходя из PHP и классических осин, это первый веб-фреймворк Java, что звук перспективными для меня ....

Ответил 25/10/2009 в 20:08
источник пользователем

голоса
11

UPDATE: Гобелен 5.2, так что она не отказалась, так как он ранее казался. Мой опыт с Гобеленом 4, а не 5, поэтому пробег может варьироваться. Мое мнение Гобелен изменилось за эти годы; Я изменил этот пост, чтобы отразить его.

Я больше не могу рекомендовать Гобелен как я делал ранее. Гобелен 5, как представляется, значительное улучшение, но моя главная проблема с Гобелен не с самой платформой; это с людьми за ним.

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

Говард Льюис корабль (главный автор гобелен), безусловно, блестящий разработчик, но я не могу сказать, что уход за его управление проектом гобеленов. Развитие Гобелен 5 началось почти сразу же после того, как гобелен 4 погружено. Из того, что я могу сказать, корабль в значительной степени посвятил себя тому, что, оставив Гобелен 4 в руках других авторов, которые я чувствую, что это не так способны, как корабль. После того, как сделали болезненный переход от Гобелена 3 до Гобелена 4, я чувствовал, что я был почти сразу же отказался.

Конечно, с выходом Гобелен 5, Гобелен 4 стал наследством продуктом. Я бы не было проблем с этим , если путь обновления не был таким жестоким снова . Так что теперь наша команда разработчиков находится в весьма незавидном положении: Мы могли бы продолжать использовать , по существу , оставленный веб - платформу (Гобелен 4), делают отвратительное обновление до Гобелена 5, или отказаться от Гобелена целиком и переписать наше приложение , используя другую платформу. Ни один из этих вариантов не является очень привлекательным.

Гобелен 5, предположительно, написана таким образом, чтобы уменьшить вероятность поломки обновлений с этой точки вперед. Хороший пример может служить в классах страниц: в предыдущих воплощениях, классы страниц происходят от базового класса, представленного Гобеленом; несовместимые изменения API в этом классе стали причиной большого числа проблем обратной совместимости. В Гобелене 5, страницы POJOs которые усиливаются во время выполнения с «волшебной Гобелен» волшебной пыли через аннотации. Так что, пока контракт на аннотации сохраняется, изменения Гобелен не повлияет на классы страниц.

Если это верно, то написание нового приложения с помощью Гобелен 5 может оказаться хорошо. Но лично я не чувствую, как положить свою руку на горелке снова.

Ответил 02/09/2008 в 19:20
источник пользователем

голоса
9

Юридическая информация: Я работаю в Vaadin (ранее Mill)

Если вы делаете что - то RIAish, вы могли бы хотеть смотреть на Vaadin . Это UI-ориентированная среда AJAX с открытым исходным кодом, мне приятно использовать (я из PHP фона сам).

Там в примере , который сравнивает делает то же приложение (то есть два приложения с одинаковым набором функций) в ICEfaces и Vaadin. В двух словах, он заявляет , что развитие UI значительно быстрее было.

Несмотря на то, исследование размещено на вики компании, я могу заверить, что это цель, подлинные и правдивые, хотя я не могу заставить вас верить в меня.

Ответил 23/08/2008 в 22:19
источник пользователем

голоса
7

После того, как долгое время тестирования различных решений, для меня это оказалось:

  • Spring MVC для слоя представления и контроллера (НЕТ Спринг WebFlow, хотя, потому что мои потоки основаны на AJAX)

  • JQuery для всех на стороне клиента материала

  • Spring Security для, ну, аспект безопасности

  • Hibernate / JPA2

  • Причал для продолжений (комета)

Один месяц чрезвычайно крутой кривой обучения, но сейчас я счастлив.

Я также хотел бы отметить , что я был просто маленький шаг от пропуская все , что Java вещи и Learing Scala / LIFT вместо этого. Насколько я обеспокоен, все в Java , что связано с веб - разработки режущей кромки (кометы, асинхронной связи, безопасности (да, даже с Spring Security!)) До сих пор является хаком (proove меня неправильно доказательствами, pleeease !). Для меня, Scala / LIFT , кажется, решение более вне коробки и все-в-одном.

Причина , почему я , наконец , решил не идти с Scala является

  • как руководитель проекта я должен считать человеческие ресурсы и разработчики Java намного легче найти, чем разработчики Scala

  • для большинства разработчиков в моей команде, концепции funcional Скала, как отлично, как это, трудно понять,

Приветствия Er

Ответил 03/08/2010 в 08:21
источник пользователем

голоса
5

Мой выбор является Калитка !!

Ответил 24/02/2009 в 10:44
источник пользователем

голоса
5

Я слышал хорошие вещи о Spring Framework тоже. В целом, однако, я был в восторге от большинства веб-фреймворков Java Я смотрел (ЭСП Struts).

Для простого приложения я бы определенно рассмотреть вопрос об использовании «сырые» сервлетов и JSP-страницы и не беспокоиться о принятии рамки. Если сервлеты хорошо написана, она должна быть проста в будущем к порту в рамках, если это необходимо, когда приложение растет сложность.

Ответил 24/08/2008 в 00:10
источник пользователем

голоса
4

Все они - это проблема ;-)

Ответил 26/09/2008 в 12:36
источник пользователем

голоса
3

Я оценивал довольно много рамок и Vaadin ( http://vaadin.com/home ) имеет просачивается весь путь к вершине.

Вы должны по крайней мере дать ему короткую оценку.

Ура!

Ответил 27/07/2010 в 17:17
источник пользователем

голоса
3

Для больших участков трафика я хотел бы использовать структуру, которая не управляет состоянием клиента на сервере - Калитка, JSF и Гобелен управляют состоянием клиента на сервере. Я хотел бы использовать только те рамки (калитка мой любимый), если заявка должна быть больше как настольное приложение. Но я стараюсь использовать более масштабируемой и простой REST + AJAX подход, хотя.

Spring MVC будет кандидатом, но так как Spring MVC 3 имеет странную аннотации перегружена модель программирования, которая не использует преимущества статической типизации. Там руды другие уродливые вещи, как выходные параметры в сочетании с методами обычного возврата, таким образом, есть два выходных канала одного метода. Spring MVC также стремится reeinvent колеса, и вы будете иметь больше, чтобы настроить по сравнению с другими системами. Я не могу рекомендовать Spring MVC, хотя у него есть некоторые интересные идеи.

Grails является удобным способом использования Spring MVC и другие установленные рамки, как Hibernate. Coding это весело, и вы быстро увидите результаты.

И не забывайте, что Servlet API с помощью несколько маленьких помощников, как FreeMarker для шаблонов является очень мощным.

Ответил 30/12/2009 в 11:08
источник пользователем

голоса
3

http://zkoss.org - хороший один

Ответил 09/09/2009 в 14:38
источник пользователем

голоса
3

Говоря «использовать JSF» является мало просто. Когда вы решите использовать JSF, вы должны выбрать библиотеку компонентов поверх него. Будете ли вы использовать MyFaces Tomahawk, Тринидад, Тобаго ( http://myfaces.apache.org/ )? Или , может быть , ICEfaces ( http://www.icefaces.org/ )? Да, и если вы используете ICEfaces, вы будете использовать JSP , или Facelets для вашего мнения?

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

Ответил 24/02/2009 в 11:23
источник пользователем

голоса
3

Я думаю, что для ваших скромных требований, вам просто нужно написать код сервлет или простые JSP-страницы, которые могут служить от сервера Tomcat. Я не думаю, что вам нужен любой вид веб-структуры (например, распорок) для персональных данных веб-сайта

Ответил 23/08/2008 в 22:40
источник пользователем

голоса
2

Я рекомендую Шов, особенно если вам нужна настойчивость.

Ответил 06/03/2010 в 18:48
источник пользователем

голоса
2

Мой выбор был бы Калитка (для крупных проектов и предсказуемой базы пользователей), GWT (для крупных проектов, которые в основном общественными облицовочные) или просто рамок услуг (например, Джерси / JAXRS) вместе с инструментарием JavaScript (для малых и средних проектов) ,

Ответил 01/02/2010 в 00:30
источник пользователем

голоса
1

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

Ответил 15/04/2011 в 14:02
источник пользователем

голоса
1

См несколько замечаний по некоторым рамочным приложениям Java (второй абзац):

http://swiss-knife.blogspot.com/2009/11/some-java-application-servers.html

Ответил 02/08/2010 в 18:48
источник пользователем

голоса
0

Я бы сказал , Vaadin или калитку

Ответил 08/02/2011 в 12:08
источник пользователем

голоса
0

Попробуйте HybridJava - это намного проще, чем все остальное.

Ответил 28/07/2010 в 06:32
источник пользователем

голоса
0

Мой любимый путь для действительно простых приложений является Apache VelocityTools (VelocityLayoutServlet) с Velosurf ( http://velosurf.sourceforge.net ).

Для более сложных приложений, Spring MVC или Struts 2.

Ответил 15/09/2008 в 17:03
источник пользователем

голоса
0

не могу поверить, что никто не упомянул, GWT

Ответил 11/09/2008 в 05:43
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more