Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: Levi FigueiraОтветов: 12

Моя компания находится в процессе перехода по пути 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) :))

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

rubyruby-on-railsgrailsgroovy

Ответы

Ответ 1 · рейтинг 17 · Joshua Partogi

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

Язык (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, если вы хотите получить шанс получить новую работу в будущем.

Ответ 2 · рейтинг 8 · Mike Stone

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

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

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

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

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

Ответ 3 · рейтинг 4 · Kevin Kaske

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

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

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

Ответ 4 · рейтинг 3 · Ivan Arrizabalaga

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

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

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

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

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

Ответ 5 · рейтинг 2 · Camilo Díaz Repka

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

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

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

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

Ответ 6 · рейтинг 1 · CodingWithoutComments

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

Ответ 7 · рейтинг 1 · Hank Gay

@Levi Figueira

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

Ответ 8 · рейтинг 1 · Andrew Whitehouse

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

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

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

Ответ 9 · рейтинг 1 · Community

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

Ответ 10 · рейтинг 1 · Peter Kelley

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

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

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

Ответ 11 · рейтинг 1 · mbrevoort

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

Ответ 12 · Ivan Arrizabalaga

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы