Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Какой фреймворк выбрать за основу для сайта?


Автор: AJetman 22.12.2009, 21:40
Знакомство с Java произошло около полугода назад, с тех пор стал фанатом Java...

Успел ознакомиться и создать сайт на основе Apache Wicket с регистрацией, личным профилем и всем прочим стандартным набором. Мини-обзор Apache Wicket:
+ Легковесный
+ Простота внедрения AJAX, но для этого используется самопальная библиотека JS
+ Авторы сторонники Maven'a - в репозиториях есть всегда свежий релиз
- Скудная документация и сообщество обитает только в Mailing list'ах.
- Очень малый набор встроенных компонентов, вследствие чего создание собственной CMS может оказаться слишком долгим процессом
- Малое количество сторонних компонентов и туториалов
- Отсутствие поддержки DI, только через компоненты сторонних разработчиков

Соответственно, что мне нужно от фреймворка(или "движка") для нового сайта:
1. Наличие какого-либо подобия CMS - достаточно будет наличия связки "регистрация" + "возможность редактирования статических страниц". Просто уже надоело брать какой-либо фреймворк и писать для него стандартные вещи.
2. Легковесность
3. Возможность внедрения AJAX, без знания последнего
4. Поддержка DI (например в виде внедрения в Spring, Guice, HiveMind или что-либо другого)

И опционально:
5. Любовь авторов фреймворка к Maven
6. Наличие плагина/модуля оптимизатора JS/CSS на базе YUI Compressor или подобного
7. Большое коммьюнити фанатов

Спасибо за помощь.

Автор: dobrolub 22.12.2009, 21:52
предлагаю посмотреть вот на этот список: http://java-source.net/open-source/content-managment-systems

К сожалению, самые сильные CMS написаны на PHP(joomla, drupal и т.д.), а PHP, из java серверов, работает только на Resinе. Правда Quercus можно поставить и нa tomcat.


Автор: AJetman 22.12.2009, 22:15
Цитата(dobrolub @ 22.12.2009,  21:52)
предлагаю посмотреть вот на этот список: http://java-source.net/open-source/content-managment-systems

К сожалению, самые сильные CMS написаны на PHP(joomla, drupal и т.д.), а PHP, из java серверов, работает только на Resinе. Правда Quercus можно поставить и нa tomcat.

Список классный, я о нем знаю, но хочется совета от тех пользователей, кто имеет реальный опыт работы с чем-либо(Struts, Stripes, Cocoon, Lenya и другие). Ведь все фреймворки и CMS начинаются со слов "самый лучший", а когда начинаешь использовать, хочется задать вопрос разработчику: "Вы что-нибудь на нем крупной и серьезное разрабатывали, кроме примеров в документации?..."

PHP отметаем, какими бы CMS там не были хорошими. И Quercus реально можно использовать только на проф. версии Resin, которая очень недешевая. И вообще тема не об этом.

Автор: Vasay 22.12.2009, 23:05
Цитата

К сожалению, самые сильные CMS написаны на PHP


Ну я бы так не говорил - например, http://www.magnolia-cms.com очень интересная CMS, вот только ее бесплатная версия весьма порезана.



Но если возвращаться к web фрэймворкам.

очень рекомендую познакомится с такой штукой, как Grails. Я понимаю, что первый вопрос, который возникает - "А при чем тут Groovy on Rails?"

А при том, что это всего лишь обертка над Spring и Hibernate. С недавних пор проект принадлежит Spring Source.

Плюсы:
+очень высокая скорость создания стандартных вещей 
+Convention over Configuration - если не нужно что-то нестандартное - то не надо писать никаких xml и аннотаций
+если нужно что-то нестандартное - вся мощь Spring, hibernate и Java у вас под рукой
+на выходе стандартный WAR, который можно задеплоить на любой сервлет контейнер.
+грамотная работа с URL (очень больной вопрос для многих Java web фрэймворков)
+ неплохой таглиб решающий стандартный задачи

Минусы:
-малая известность
-не самая лучшая поддержка со стороны Netbeans, со стороны jDeveloper еще хуже (как в эклипсе -не знаю)
- designer unfrandly шаблонизатор (есть плагин для замены стандартного GSP на freemarker, при этом сохраняется возможность использовать таглиб GSP)


Спорные моменты:
= фрэймворк заточен под Groovy, хотя, при желании можно почти все сделать на Java лишь с небольшими примесями Groovy.
= подход к разработке аля Ruby on Rails
= дистрибутив - "все в одном", скачав grails вы получаете сразу все либы (хотя, есть еще плагины, например spring security идет как плагин), наборы скриптов для выполнения стандартных действий (создания дерева проекта, создание стандартных контроллеров по вашим entity классам, закачка и установка плагина...) и , даже, сервлет контейнер.

Автор: serger 23.12.2009, 09:28
Для Grails есть CMS-ки - например, http://kenai.com/projects/griffon.
А лучшая IDE для Grails - всё же ИМХО Netbeans. Ещё бы там была одновременно поддержка Grails и Maven.  smile 

Автор: Vasay 23.12.2009, 09:51
Цитата(serger @  23.12.2009,  09:28 Найти цитируемый пост)
Для Grails есть CMS-ки - например, griffon.


griffon же, вроде, не cms, а фрэймворк для создания десктоп приложений на groovy

Цитата

А лучшая IDE для Grails - всё же ИМХО Netbeans.


Эх, а я надеялся, что эклипс будет лучше :-( а то нетбинс мало того, что сильно тормозит при чтении проекта grails, так еще часто подчеркивает не то что нужно и не подчеркивает то что нужно :-( да еще сохранять файлы забывает при нажатии кнопки run.

Автор: serger 23.12.2009, 11:17
Цитата(Vasay @  23.12.2009,  09:51 Найти цитируемый пост)
griffon же, вроде, не cms, а фрэймворк для создания десктоп приложений на groovy

Да, виноват. Ещё думал, почему названия одинаковые..  smile Что-то я где-то намудрил..   smile 

В общем, для grails есть CMS-плагины, тока я ими не пользовался.

Добавлено через 1 минуту
Цитата(Vasay @  23.12.2009,  09:51 Найти цитируемый пост)
Эх, а я надеялся, что эклипс будет лучше :-( а то нетбинс мало того, что сильно тормозит при чтении проекта grails, так еще часто подчеркивает не то что нужно и не подчеркивает то что нужно :-( да еще сохранять файлы забывает при нажатии кнопки run. 

Нет в жизни совершенства..  

Автор: AJetman 23.12.2009, 16:01
Цитата(Vasay @ 22.12.2009,  23:05)
Но если возвращаться к web фрэймворкам.

очень рекомендую познакомится с такой штукой, как Grails. Я понимаю, что первый вопрос, который возникает - "А при чем тут Groovy on Rails?"

Спасибо, пробовал ранее, сейчас вижу вышла Groovy 1.7, поэтому попытаю счастья снова...

Минусы:
- Синтаксис Groovy отличается от Java, что может быть слишком жирным минусом при:
-- Поиске людей, готовых изучить Groovy (мыслю в будущее)
-- При сдаче проектов заказчикам, если таковые будут (опять же на будущее)
- Пониженное быстродействие, несмотря на компиляцию в байткод. Именно своей производительностью меня привлекла в одно время Java.

Плюсы:
+ Генерация CRUD, которой так не хватает многим веб-фреймворкам
+ Документация
+ Возможность быстро подправить шаблон или код проекта прямо на сервере, без редеплоймента. Мечта со времен PHP.


Поэтому продолжаю поиск.

Автор: Vasay 24.12.2009, 00:34
Цитата(AJetman @  23.12.2009,  16:01 Найти цитируемый пост)
- Синтаксис Groovy отличается от Java, что может быть слишком жирным минусом при:
-- Поиске людей, готовых изучить Groovy (мыслю в будущее)


Да не так уж и отличается. Человеку знающему Java разобраться c Groovy будет несложно, так же как и человеку знающему Spring framework будет несложно освотся с Grails.

Цитата

-- При сдаче проектов заказчикам, если таковые будут (опять же на будущее)


Согласен, что малоизвестная технология способна отпугнуть заказчика.

Цитата

- Пониженное быстродействие, несмотря на компиляцию в байткод. Именно своей производительностью меня привлекла в одно время Java.


Думаю, что это не критично - основную нагрузку на железо будут создавать Spring, Hibernate и БД, ну а если у вас выполняются тяжелые операции (например, обработка изображений), то что мешает их реализовать на Java?

Автор: AJetman 24.12.2009, 03:42
Цитата(Vasay @ 24.12.2009,  00:34)
Думаю, что это не критично - основную нагрузку на железо будут создавать Spring, Hibernate и БД, ну а если у вас выполняются тяжелые операции (например, обработка изображений), то что мешает их реализовать на Java?

Это да, вы правы.

Скачал себе SpringSource Tool Suite для "просто ознакомиться" и наткнулся на Spring Roo. Пока еще в стадии Release Candidate. По документации обещали генерацию проектов в Maven и еще Scaffolding. Если оно подойдет, то я обязательно отпишу здесь.

Автор: Vasay 24.12.2009, 12:35
Цитата(AJetman @  24.12.2009,  03:42 Найти цитируемый пост)
наткнулся на Spring Roo. Пока еще в стадии Release Candidate. По документации обещали генерацию проектов в Maven и еще Scaffolding. Если оно подойдет, то я обязательно отпишу здесь. 


Почитал. Интересный проект. 

Кстати, они позиционируют его как альтернативу AppFuse 2 http://appfuse.org/display/APF/Home  - не смотрели, что за зверь?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)