Изучение 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)


arrow_upward
17
arrow_downward

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

Язык (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

arrow_upward
8
arrow_downward

Небольшой вопрос: почему они выбирают 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

arrow_upward
4
arrow_downward

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

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

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

person Kevin Kaske    schedule 02.09.2008

arrow_upward
3
arrow_downward

Я изучаю 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

arrow_upward
2
arrow_downward

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

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

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

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

person Camilo Díaz Repka    schedule 07.08.2008

arrow_upward
1
arrow_downward

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

person CodingWithoutComments    schedule 07.08.2008

arrow_upward
1
arrow_downward

@Levi Figueira

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

person Hank Gay    schedule 02.09.2008

arrow_upward
1
arrow_downward

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

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

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

person Andrew Whitehouse    schedule 06.09.2008

arrow_upward
1
arrow_downward

Прыгайте прямо в 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

arrow_upward
1
arrow_downward

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

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

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

person Peter Kelley    schedule 18.09.2008

arrow_upward
1
arrow_downward

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

person mbrevoort    schedule 18.09.2008

arrow_upward
0
arrow_downward

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

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

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

person Ivan Arrizabalaga    schedule 21.08.2008

arrow_upward
0
arrow_downward

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

person hendrixski    schedule 13.11.2008

arrow_upward
0
arrow_downward

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

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

person Community    schedule 16.07.2009

arrow_upward
0
arrow_downward

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

person yayitswei    schedule 28.09.2010