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

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

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

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

-ИЛИ ЖЕ-

  • Должен ли я просто пропустить 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 13:03

Может кто-нибудь это обновить? Я хочу убедиться, что люди могут получить по крайней мере самое последнее мнение по этому поводу.

David West 17.05.2014 00:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
21
2
9 047
15
Перейти к ответу Данный вопрос помечен как решенный

Ответы 15

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@Levi Figueira

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

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

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

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

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

http://beginninggroovyandgrails.com

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

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

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

http://grails.org/Grails+Screencasts

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

http://grails.org/Quick+Start

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

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

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

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

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

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

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

Ответ принят как подходящий

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

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

Хорошие моменты! Я слежу за Scala и, возможно, буду использовать его в будущем. На данный момент Rails достаточно! :) Кроме того, концепция Groovy / Grails никогда не казалась мне долгосрочной. Я не знал об этих комментариях создателя Groovy, но они подтверждают мои первоначальные мысли. Grails не является согласованным. Это был «выход» для нашего Java-парня, когда он столкнулся с неизбежным для наших новых вещей: Rails! :) Пока что я люблю Ruby / Rails и не могу дождаться версии 3.0! Я научился Rails и теперь медленно осваиваю более продвинутый Ruby! Вполне доволен тем путем, который я / мы пошли. ;)

Levi Figueira 26.07.2009 13:09

Довольно страшно использовать технологию, в которую сам создатель уже не верит.

Joshua Partogi 26.07.2009 14:24

Отличный ответ! Вы сравнивали сообщество плагинов (Gems vs Plugins)? Rails кажется победителем в этой области.

Alexander Suraphel 09.12.2014 18:57

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

Другие вопросы по теме