Java Web Framework для нового проекта

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

  1. MVC
  2. Уже созрел (минимум 2 года)
  3. Хорошо документировано (через неделю я точно знаю, где что-нибудь найти), в конце концов, если вы сможете предложить хорошую книгу по фреймворку.
  4. УЖЕ ИМЕЕТ очень хорошую поддержку M (разработка), например, что-то вроде Grails (классы доманина со связями между ними) или более сложные вещи, такие как транзакция, поддержка Hibernate, ...
  5. Чтобы быть масштабируемым, очень важно.
  6. Не очень сложно выучить (4 недели, чтобы хорошо разобраться в структуре).

person Andrei I    schedule 15.06.2011    source источник


Ответы (4)


Учитывая ваши требования, я бы порекомендовал Spring. Откровенно говоря, вы не ошибетесь с этим фреймворком - у него ОЧЕНЬ сильное сообщество разработчиков и полный стек технологий. Кривая обучения несколько круче, чем, скажем, Tapestry, но вы ищете решение по соглашению, а не конфигурационное решение, и это требует больше времени для изучения. При этом, даже для новичка, на то, чтобы получить приложение Spring, не должно уйти больше недели. Конечно, изучение фреймворка займет гораздо больше времени.

Spring Framework - Википедия

SpringSource

Надеюсь, это поможет.

person Perception    schedule 15.06.2011

У вас есть много вариантов, и здесь многое обсуждается:

https://stackoverflow.com/questions/1360963/best-java-rad-web-framework < / а>

Лучшая структура веб-приложений для Java?

https://stackoverflow.com/questions/309254/best-java-mvc-framework-implementation-for-web-apps

Лично я бы порекомендовал Spring MVC - легко соединяется с Hibernate (реализации JPA) для управления транзакциями, классами домена, контроллерами и т. Д. Может также быть связан с большинством популярных фреймворков веб-интерфейса.

Думаю, он в значительной степени соответствует всем вашим требованиям, за исключением, может быть, 6. Поскольку он не такой легкий с точки зрения обучения, как что-то вроде Grails (с использованием соглашения над конфигурацией), поэтому вам нужно понять конфигурацию xml и т. Д., Но я думаю Roo поможет вам на правильном пути, особенно если у вас уже есть опыт работы с java.

Также проверьте Spring Roo, если вам нужны материалы RAD.

person rhinds    schedule 15.06.2011

Играть! Framework

Я пользуюсь Play! Framework последние месяцы, и мне это очень нравится. У него очень короткий цикл разработки - просто сохраните исходный файл и обновите веб-страницу в браузере, потому что он автоматически компилируется. И фреймворк прост для понимания и имеет хорошую документацию. И он легкий, с хорошей производительностью.

Его можно развернуть как с помощью Netty (рекомендуется), так и как военный файл на любом сервлет-контейнере, например. GlassFish или Jetty.

person Jonas    schedule 15.06.2011
comment
Масштабируемость? Есть ли у него прочный ORM? - person Andrei I; 17.06.2011
comment
@Andrei: Вероятно, он более масштабируемый, чем любой другой веб-фреймворк Java, например см. jtict.com/blog/rails-wicket-grails- play-lift-jsp и не имеет гражданства. Он поддерживает многие ORM, по умолчанию - JPA / Hibernate. - person Jonas; 17.06.2011

Я бы использовал Grails. Есть несколько ошибок, но в целом его очень легко использовать.

person hvgotcodes    schedule 15.06.2011
comment
Что мне действительно не нравится, так это отсутствие безопасности типов. А насколько масштабируемым является Grails? - person Andrei I; 17.06.2011
comment
да, вы столкнетесь с большим количеством проблем с типами среды выполнения с Grails, но их можно решить с помощью передовых методов тестирования. Лично я редко использую объявление def, предпочитая строгие типы. Одна из сильных сторон Groovy. Grails очень масштабируем. - person hvgotcodes; 17.06.2011
comment
А также мне не нравится, что поддержка Grails в Eclipse или Netbeans не самая лучшая. В Netbeans очень слабая поддержка автозаполнения и рефакторинга. Какую IDE вы используете? - person Andrei I; 17.06.2011