Grails!

Krishna

Продался Java
Вот, собственно жизнь заставила резко осваивать этот фреймворк.

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

Интересует взгляд PHPшника на Grails.
 

fixxxer

К.О.
Партнер клуба
Ну я мельком смотрел, показалось, что обычный клон RoR. Ну с возможностью использовать Java-инфраструктуру, ага.

А Groovy до сих пор раз в 10 тормознее, чем Scala? :)
 

Krishna

Продался Java
А Groovy до сих пор раз в 10 тормознее, чем Scala?
Понятия не имею. А на Scala тоже есть фреймворк-надстройка над Spring и Hibernate?

Ну с возможностью использовать Java-инфраструктуру, ага.
Прелесть не только в инфраструктуре либ, а в том, что например тот же сервисный слой модели можно лабать на чистой Java, что конечно много круче, чем мучаться на динамически-типизированном языке.
А вот веб-компоненту писать на чём-то гибком. Ну это первое впечатление.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а что такое сервисный слой модели и почему его писать на джаве круче?

а если речь про построитель и исполнитель запросов, то зачем его писать? он же уже должен быть написан. ты же не фреймворк пишешь!
 

Krishna

Продался Java
grigori
Ну, джависты в упёртом большинстве любят сношаться с унылой анемичной моделью, в которой ORM-записи полностью отделены от логики и хранят в себе только данные и геттеры/сеттеры.
Классы модели, содержащие логику при этом зовутся как правило сервисным слоем.
По сути при подходе Domain Model, где ентити могут логику содержать всё равно допустимы классы, которые содержат только логику, или в основном содержат логику.
В общем, на Java, как строготипизированном языке значительно удобнее писать большие ООП-структуры. Строгая типизированность позволяет во-первых допускать меньше ошибок за счёт контролируемого приведения типов (а сложная модель это всегда глубокие стеки вызовов и сл-но больше преобразований данных), пользоваться перегрузками операторов и получать капитальную помощь от IDE в плане всевозможных рефакторингов.

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

fixxxer

К.О.
Партнер клуба
Понятия не имею. А на Scala тоже есть фреймворк-надстройка над Spring и Hibernate?
Есть http://scala.playframework.org/, мне он поинтереснее кажется. По дефолту, правда, orm там, кажется, щас вообще нету, но JPA прикручивается элементарно (как в java-версии фреймворка).
 

shelestov

я тут часто
Тоже мельком знаком с этим фреймворком. Полный клон Rails.
В начале книги было написано, что то вроди: "Если вы только начинаете изучать Java, возьмите сразу Ruby on Rails". :)
 

Krishna

Продался Java
Ну у Grails перед RoR есть явное killer-feature преимущество - JVM.
Так что размышления какой это клон RoR (а ведь никто и не скрывает, что это клон) не имеют смысла, особенно для таких, как я - тех, кто RoR в глаза никогда не видел :)
Мне интереснее послушать про аналогии с PHP.
 

fixxxer

К.О.
Партнер клуба
А какие могут быть аналогии между языком и фреймворком? :)

RoR-подобный фреймворк можно хоть на bash-скриптах написать ;)
 

shelestov

я тут часто
Я имел ввиду, что автор книги говорил, что не имеет смысла учить java ради grails, лучше в этом случае смотреть в сторону ror.
 

Krishna

Продался Java
fixxxer
Ну я имел ввиду аналогии Groovy - PHP или любой PHP-фреймворк - Grails.

А ещё точнее - просто хотелось бы послушать бывших (не бывших) пхпшников, имеющих практический опыт работы с Grails на тему их впечатлений.
 
Сверху