Комментарии 14
ну вот насчёт «Roo быстрее Grails» — это спорный ещё вопрос.
0
НЛО прилетело и опубликовало эту надпись здесь
По крайней мере, мотивация для создания Roo была именно такой.
Мне Roo понравился (плюс, его автор — совершенно замечательный тип :) ).
Вот пример скрипта на Roo (тот самый wedding.roo из комплекта):
На выходе получаем приложение на Java + Spring + Hibernate, плюс тесты (в т.ч для Selenium) — в виде maven проекта.
По-моему, круто.
Мне Roo понравился (плюс, его автор — совершенно замечательный тип :) ).
Вот пример скрипта на Roo (тот самый wedding.roo из комплекта):
project --topLevelPackage com.wedding
persistence setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT
database properties list
database properties set --key database.url --value jdbc:hsqldb:${user.home}/my-wedding
entity --name ~.domain.Rsvp
field string code --notNull --sizeMin 1 --sizeMax 30
field string email --sizeMax 30
field number attending --type java.lang.Integer
field string specialRequests --sizeMax 100
field date confirmed --type java.util.Date
test integration
controller scaffold ~.web.RsvpController
selenium test --controller ~.web.RsvpController
// (quit, mvn test, mvn tomcat:run, localhost:8080/wedding, mvn selenium:selenese)
logging setup --level DEBUG --package WEB
security setup
controller class --name ~.web.PublicRsvpController
finder list --class ~.domain.Rsvp --filter code,equ
finder add --finderName findRsvpsByCodeEquals
email sender setup --hostServer 127.0.0.1
field email template --class ~.web.PublicRsvpController
// quit, mvn eclipse:eclipse; import project into Eclipse
// complete manual configuration as described at blog.springsource.com/roo-part-2/
logging setup --level DEBUG
На выходе получаем приложение на Java + Spring + Hibernate, плюс тесты (в т.ч для Selenium) — в виде maven проекта.
По-моему, круто.
0
НЛО прилетело и опубликовало эту надпись здесь
>На выходе получаем приложение на Java + Spring + Hibernate
и полное непонимание того, что и как работает…
спасибо, лучше уж grails
и полное непонимание того, что и как работает…
спасибо, лучше уж grails
0
То есть как это? Что может быть непонятного в связке Spring + Hibernate?! :)
Я, например, к Grails отношусь с подозрением, ибо не до конца понимаю, что оно там внутри делает («а внутре у нее неонка»). То есть, теоретически я знаю, что под капотом у Grails все те же Spring + Hibernate (да?), но все же…
Это в смысле — каждому свое. Лично мне нравится, что я получаю знакомый набор технологий maven + java + spring + hibernate. (Олд скул форева). Выпадет шанс реально поработать с Grails — может, изменю мнение. Groovy я уже полюбил :)
Я, например, к Grails отношусь с подозрением, ибо не до конца понимаю, что оно там внутри делает («а внутре у нее неонка»). То есть, теоретически я знаю, что под капотом у Grails все те же Spring + Hibernate (да?), но все же…
Это в смысле — каждому свое. Лично мне нравится, что я получаю знакомый набор технологий maven + java + spring + hibernate. (Олд скул форева). Выпадет шанс реально поработать с Grails — может, изменю мнение. Groovy я уже полюбил :)
0
>То есть как это? Что может быть непонятного в связке Spring + Hibernate?! :)
тут вопрос не в Spring+Hibernate, а, скорее, структуре проекта — я лично не до конца представляю, что делает строчка «finder list --class ~.domain.Rsvp --filter code,equ»
>То есть, теоретически я знаю, что под капотом у Grails все те же Spring + Hibernate (да?), но все же…
да, они. Более того, с грядущей версии 1.2 можно использовать не только Hibernate напрямую, но и Spring (MVC).
>Олд скул форева
вряд ли такие люди, как вы — ЦА для Roo
тут вопрос не в Spring+Hibernate, а, скорее, структуре проекта — я лично не до конца представляю, что делает строчка «finder list --class ~.domain.Rsvp --filter code,equ»
>То есть, теоретически я знаю, что под капотом у Grails все те же Spring + Hibernate (да?), но все же…
да, они. Более того, с грядущей версии 1.2 можно использовать не только Hibernate напрямую, но и Spring (MVC).
>Олд скул форева
вряд ли такие люди, как вы — ЦА для Roo
0
Упомянутая строчка создаст следующий аспект AspectJ:
Хммм… даже не на Hibernate, оказывается. Интересно, надо покрутить.
package com.wedding.domain;
import java.lang.String;
import javax.persistence.EntityManager;
import javax.persistence.Query;
privileged aspect Rsvp_Roo_Finder {
public static Query Rsvp.findRsvpsByCodeEquals(String code) {
if (code == null || code.length() == 0) throw new IllegalArgumentException("The code argument is required");
EntityManager em = Rsvp.entityManager();
Query q = em.createQuery("SELECT Rsvp FROM Rsvp AS rsvp WHERE rsvp.code = :code");
q.setParameter("code", code);
return q;
}
}
Хммм… даже не на Hibernate, оказывается. Интересно, надо покрутить.
0
И, кстати, насчет ЦА — не согласен. Мне тоже RAD бывает нужен.
0
Grails — действительно очень удобный фреймворк, активно его используем в разработке. Действительно, он основан на вышеупомянутых технологиях. Отличие в том, что разрабатывать веб-приложения на нём гораздо быстрее, чем на связке «Java + Spring + Hibernate». Он и позиционируется как средство для agile-разработки.
0
Всё же хорошо, что популярные фреймворки(Spring, Hibernate) влияют на стандарты. Я надеюсь и OSGi победит в споре о Java. Modularity
+1
Просматривая Twitter по тагу #springone2gx, набрел на прекрасный комментарий: «Производительность GSP в Grails 1.2 повысилась в 2-3 раза благодаря тому, что убрали случайно забытый вызов Thread.sleep()»
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Конференция SpringOne 2GX — новинки от SpringSource