Изучение Ruby on Rails полезно для Grails?

Моя компания находится в процессе перехода по пути Grails. Причина этого в том, что нынешние разработчики увлечены Java, но почувствовали потребность в языке в стиле MVC для некоторых будущих проектов веб-разработки. Лично я пришел из мира дизайна / юзабилити, но по мере того, как я беру на себя все больше «интерфейсных» обязанностей, я начинаю чувствовать потребность в более интенсивном изучении языка, чтобы я мог кодировать некоторую логику, но особенно интерфейс. код для моих интерфейсов и прочего.

Я пытался лично заняться Python / Django, но никогда не тратил на это слишком много времени. Теперь, когда моя компания «прыгает» на Grails, я купил «Agile Web Development with Rails (3rd Ed - Beta)» и начинаю разбираться в RoR. Я все еще хотел бы изучать Python в будущем или в процессе, но мой самый большой вопрос:

  • Должен ли я изучать RoR и иметь более универсальный язык в моем «портфолио», зная, что мои знания RoR будут полезны и для моих нужд Grails ??

-OR-

  • Должен ли я просто пропустить RoR и сосредоточиться на изучении Grails, которое мне скоро понадобится для работы, а позже поработать над изучением RoR / Django (Ruby / Python)?

В основном вопрос вращается вокруг полезности Grails в некорпоративной среде и сходства между Rails и Grails. (и это при попытке избежать столетнего обсуждения Python vs Ruby (on Rails) :))


person Levi Figueira    schedule 07.08.2008    source источник
comment
Ладно: есть разработка. Я начал с Rails для наших внешних веб-приложений, в то время как другой (Java) программист пошел дальше с Grails для интранет-вещей. Я считаю, что в будущем эти две стороны наших приложений объединятся, и Rails возьмет на себя инициативу. Основная причина, по которой он использует Grails, заключается в том, что он Java и хорошо разбирается в Hibernate. :) Пока что я вполне доволен тем, что отказался от поддержки Grails и опередил Rails. Это будет намного полезнее лично мне и нашей компании в долгосрочной перспективе. Спасибо за ваши ответы! Люблю это сообщество! : D   -  person Levi Figueira    schedule 26.07.2009
comment
Может кто-нибудь это обновить? Я хочу убедиться, что люди могут получить по крайней мере самое последнее мнение по этому поводу.   -  person David West    schedule 17.05.2014


Ответы (15)


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

Язык (Groovy и Ruby)

Я считаю, что Ruby более интересный язык по сравнению с Groovy. Groovy существует только для того, чтобы облегчить Java-программисту, поскольку вам не нужно изучать слишком много нового синтаксиса. Но в целом я считаю, что он не такой классный, как Ruby. Groovy не был бы языком JVM, который стоит изучить на основе голосования участников на JavaOne в этом году, но вместо этого Scala - это то, что нужно. Кроме того, сам первоначальный создатель Groovy не в первую очередь верить в язык, который он создал сам.

Сообщество и вакансии

Что касается сообщества, то сообщество Grails не такое большое, как Rails, хотя с момента приобретения Spring все больше и больше людей используют его в серьезных приложениях. У Rails больше вакансий на рынке по сравнению с Grails (то есть, если вы хотите инвестировать в поиск новой работы).

Фреймворк (Grails и Rails)

Но как фреймворк, если вы действительно заботитесь о ремонтопригодности и вам нужен доступ к инфраструктуре Java и устаревшей системе Java, Grails - это то, что вам нужно, поскольку он обеспечивает более чистый доступ к Java. Сам Grails построен на нескольких популярных фреймворках Java (Spring и Hibernate). Сам Rails, IMHO, напуган, как и сам Ruby, но его напуганность стоит вам ремонтопригодности. Сам Матц предпочитает Merb Rails 2, потому что Rails создает DSL поверх Ruby, что действительно противоречит философии Ruby. И я считаю, потому что сам Rails является общепринятым, что, в свою очередь, если у вас нет того же мнения, что и у создателя, он может не соответствовать вашим потребностям.

Заключение

Итак, в вашем случае изучите Grails, поскольку это консенсус компании (вы должны уважать консенсус) и если вы все еще хотите сохранить свою работу. Но потратьте некоторое время на изучение Rails и Ruby, если вы хотите получить шанс получить новую работу в будущем.

person Joshua Partogi    schedule 21.07.2009
comment
Хорошие моменты! Я слежу за Scala и, возможно, буду использовать его в будущем. На данный момент Rails достаточно! :) Кроме того, концепция Groovy / Grails никогда не казалась мне долгосрочной. Я не знал об этих комментариях создателя Groovy, но они подтверждают мои первоначальные мысли. Grails не является согласованным. Это был выход для нашего Java-парня, когда он столкнулся с неизбежным для наших новых вещей: Rails! :) Пока что я люблю Ruby / Rails и не могу дождаться версии 3.0! Я научился Rails и теперь медленно осваиваю более продвинутый Ruby! Вполне доволен тем путем, который я / мы пошли. ;) - person Levi Figueira; 26.07.2009
comment
Довольно ужасно использовать технологию, в которую сам создатель уже не верит. - person Joshua Partogi; 26.07.2009
comment
Отличный ответ! Вы сравнивали сообщество плагинов (Gems vs Plugins)? Rails кажется победителем в этой области. - person Alexander Suraphel; 09.12.2014

Небольшой вопрос: почему они выбирают Grails, потому что Groovy по синтаксису ближе к Java, чем Ruby, или потому, что им нужен доступ к Java?

Если это первое, то я бы посоветовал попытаться сосредоточиться на Grails, поскольку вы будете использовать именно его. Если это последнее, вы можете узнать, открыта ли команда разработчиков для использования JRuby.

Я никогда раньше не использовал Grails или Rails, но раньше я использовал Groovy и Ruby, и как язык, я считаю, что Ruby намного чище и согласованнее, и команда может больше получать удовольствие от производства. В качестве платформы Rails существует дольше и привлекает к себе много внимания, поэтому я могу представить, что это более стабильная платформа для использования с более конкретными функциями.

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

По сути, если вы просто хотите подключиться к Java, вам следует рассмотреть вариант JRuby, но если команда опасается синтаксиса, отличного от Java, возможно, продолжайте как есть.

person Mike Stone    schedule 07.08.2008

Я бы выучил и то, и другое. Это одновременно развивающиеся технологии. Изучение программирования RESTful - настоящее преимущество на любом языке.

Я использую GRAILS на работе и RoR для сторонних проектов. Я могу сказать, что сообщество RoR намного больше (я говорю о RoR против Grails, а не о RoR против Java) и очень полезно.

Краткий ответ: Они похожи .... что может болеть?

person Kevin Kaske    schedule 02.09.2008

Я изучаю RoR и Grails, и последний намного легче выучить.

Обе структуры используют одни и те же принципы (agile, kiss, dry, duck typing и т. Д.), Но синтаксис Groovy ... ну, это просто здорово, то, что вы можете изучить и использовать в мгновение ока.

Я действительно чувствую, что у Grails более светлое будущее, чем у RoR.

PD: На всякий случай, если вы сочтете это полезным, мой колледж работает с Grails полный рабочий день и ведет блог с некоторыми советами:

http://dahernan.net/search/label/grails

person Ivan Arrizabalaga    schedule 20.08.2008

Просто пропустите RoR. Подобных вещей (кроме названия) действительно не так много

Я определенно считаю, что достаточного знания Java и некоторого опыта программирования на динамическом языке более чем достаточно, если вы планируете серьезно заниматься разработкой с помощью Grails.

Сравнение только представлений (библиотеки тегов в Grails, RHTML в RoR) и постоянства (GORM и ActiveRecord) слишком сильно различается в ядре, чтобы тратить время на изучение мельчайших деталей RoR. Просто погрузитесь в Grails, не пожалеете.

Edit: исправлена ​​опечатка.

person Camilo Díaz Repka    schedule 07.08.2008

Вам следует просто пропустить RoR и сосредоточиться на изучении Grails, которое вам понадобится в работе.

person CodingWithoutComments    schedule 07.08.2008

@Levi Figueira

Во-первых, Grails гораздо более гибок, чем Rails. Rails сложно использовать с унаследованной БД, потому что ActiveRecord имеет слишком много проектных ограничений, которым не следуют многие унаследованные БД. Grails, в других случаях, может использовать стандартные сопоставления Hibernate, которые могут соответствовать гораздо более широкому диапазону конструкций БД.

person Hank Gay    schedule 02.09.2008

Сообщество Rails очень активно пропагандировало RoR, в результате чего были установлены высокие ожидания, которые не всегда оправдывались (производительность программистов хороша, но обеспечить хорошую производительность после развертывания не так-то просто).

Grails был разработан как преемник Java со сценариями, в то время как интеграция Ruby-Java, используемая, например, в JRuby on Rails, должна была быть модифицирована.

Я бы посоветовал вам придерживаться Grails; Возможно, он не такой блестящий, как RoR, но это прагматичный выбор; вы получаете повышенную производительность и возможность многократного использования существующих библиотек Java.

person Andrew Whitehouse    schedule 06.09.2008

Прыгайте прямо в Grails. Я уверен, что Ruby / Rails хорош, но так же и с Groovy / Grails. Я рекомендую эту книгу.

http://beginninggroovyandgrails.com

Помните, что исправление обнаружено в сети. В книге есть пара ошибок.

http://beginninggroovyandgrails.com/site/content/errata

Также посмотрите 3-х минутную 30-секундную демонстрацию создания вашего первого приложения Grails.

http://grails.org/Grails+Screencasts

Этот учебник покажет вам основы.

http://grails.org/Quick+Start

person Community    schedule 08.09.2008

Да, Grails - это то, что вам нужно. RoR хорош, но он привязывает вас к экосистеме Ruby. Часть усилий по изучению новой структуры или языка - это изучение библиотек классов, а также синтаксиса языка. Если все ваши сотрудники принадлежат к типу Java, вам будет гораздо легче получать помощь и поддержку, поскольку все они будут говорить на одном языке с вами.

Другое преимущество небольшого изучения Groovy и Java заключается в том, что вам откроются веб-фреймворки, такие как GWT. У Grails есть плагин GWT, и как разработчик интерфейса вы оцените простоту использования и кроссбраузерность.

Также есть по крайней мере одна хостинговая компания, предлагающая бесплатный хостинг приложений Grails (http://www.mor.ph/), что означает, что вы можете создавать прототипы сайтов с небольшими объемами данных, прежде чем платить.

person Peter Kelley    schedule 18.09.2008

Я предпочитаю Grails, а не Rails, но изучение Rails даст вам более сбалансированную перспективу и фактически откроет вам глаза на упущенные из виду вещи, которые возможны в Grails.

person mbrevoort    schedule 18.09.2008

На первый взгляд может показаться, что это совершенно разные истории, поскольку они основаны на совершенно разных языках (Ruby и Groovy).

Затем, после прочтения пары руководств, вы поймете, что они разделяют одни и те же принципы, строительные леса, утиную типизацию ... и, наконец, одну и ту же цель: сделать гибкое программирование возможным.

Если вы уже знакомы с такими терминами, как IoC и MVC, вам будет легко и интересно изучить любой из этих вариантов.

person Ivan Arrizabalaga    schedule 21.08.2008

Я бы сказал нет, я тоже изучаю Grails, и я тоже об этом думал, но просто изучение Grails - это довольно сложно, плюс изучение Groovy (что само собой разумеется, легко, но все же нужно выучить его, правильно?) И все такое ... так что изучать Rails было бы слишком сложно.

person hendrixski    schedule 13.11.2008

Да, если мы сравним grails и rails, я бы выбрал grails (я разработал некоторые приложения для внутренней сети в grails).

Но Django превосходит оба - так как python - это, хм, идеальный выбор.

person Community    schedule 16.07.2009

Вы также можете взглянуть на Clojure, язык JVM, который только начинает набирать популярность. Это может быть хорошим выбором для компании, основанной на Java, поскольку он совместим с вашей старой кодовой базой и содержит множество современных инноваций. Появляется несколько хороших веб-фреймворков, в том числе Compojure.

person yayitswei    schedule 28.09.2010