Изучение Ruby on Rails полезно для Grails?
-
08-06-2019 - |
Вопрос
Моя компания находится в процессе запуска Граали путь.Причина этого в том, что нынешние разработчики перегружены Java но почувствовал необходимость в Язык в стиле MVC для некоторых будущих проектов веб-разработки.Лично я пришел из мира дизайна / юзабилити, но по мере того, как я беру на себя больше "интерфейсных" обязанностей, я начинаю чувствовать необходимость более интенсивного изучения языка, чтобы я мог кодировать некоторую логику, но особенно интерфейсный код для своих пользовательских интерфейсов и прочего.
Я пытался проникнуть в Python /Django лично я, но просто никогда не тратил на это слишком много времени.Теперь, когда моя компания "перескакивает" на Grails, я купил "Гибкая веб-разработка с использованием Rails (3-е издание - бета-версия)" и я начинаю проникаться РоР.Я все еще хотел бы научиться Питон в будущем или на стороне, но мой самый большой вопрос заключается в следующем:
- Должен ли я изучать RoR и иметь более универсальный язык в своем "портфолио", зная, что мои знания RoR также будут полезны для моих нужд в Grails??
-ИЛИ-
- Должен ли я просто пропустить RoR и сосредоточиться на изучении Grails, которые мне скоро понадобятся для работы, и поработать над изучением RoR / Django (Ruby / Python) позже?
В основном вопрос вращается вокруг полезности Grails в некорпоративных условиях и сходства между Rails и Grails.(и это при попытке избежать столетнего обсуждения Python vs Ruby (на Rails) :))
Решение
Ммм, я не знаю, как это сказать.Некоторые люди могли бы поколотить меня за это.
Язык (Groovy и Ruby)
Как язык, я считаю, Ruby более фанковый по сравнению с Groovy.Groovy существует только для того, чтобы облегчить работу Java-программиста, поскольку вам не нужно изучать слишком много нового синтаксиса.Но в целом, я считаю, это не так обалденно, как Ruby.Groovy не был бы тем языком JVM, который стоит изучать, основываясь на голосовании посетителей в JavaOne этого года, но вместо этого стоит выбрать Scala.Кроме этого, первоначальный создатель Groovy сам не верит в язык, который он создал сам в первую очередь.
Сообщество и вакансии
Что касается сообщества, сообщество Grails не такое большое, как Rails, хотя с момента выхода Spring все больше и больше людей используют его в серьезных приложениях.На рынке Rails больше вакансий, чем в Grails (это если вы хотите инвестировать в поиск новой работы).
Фреймворк (Grails и Rails)
Но, как фреймворк, если вы действительно заботитесь о ремонтопригодности и вам нужен доступ к Java Framework и устаревшей Java-системе, Grails - это правильный путь, поскольку он обеспечивает более чистый доступ к Java.Сам Grails построен на нескольких популярных Java-фреймворках (Spring и Hibernate).Rails сам по себе, ИМХО, обалденный, как и Ruby сам по себе, но его обалденность стоит вам ремонтопригодности. Сам Мац предпочитает Merb рельсам 2 потому что Rails создает DSL поверх Ruby, что на самом деле противоречит философии Ruby.И я думаю, потому, что Rails сам по себе самоуверен, а это, в свою очередь, если у вас нет такого же мнения, как у создателя, это может не соответствовать вашим потребностям.
Заключение
Итак, в вашем случае изучайте Grails, поскольку таково общее мнение компании (вы должны уважать это общее мнение), и если вы все еще хотите сохранить свою работу.Но потратьте некоторое время на изучение Rails и Ruby, если вы хотите получить шанс получить новую работу в будущем.
Другие советы
Небольшой вопрос: причина, по которой они выбирают Grails, в том, что Groovy ближе по синтаксису к Java, чем Ruby, или потому, что они хотят получить доступ к Java?
Если это первое, то я бы сказал, постарайтесь сосредоточиться на Grails, поскольку это то, что вы будете использовать.Если это последнее, возможно, вы захотите узнать, открыта ли команда разработчиков для использования JRuby.
Я никогда раньше не использовал Grails или Rails, но раньше я использовал Groovy и Ruby, и как язык, я думаю, Ruby намного чище и последовательнее, и команда могла бы получать больше удовольствия от производства.Как платформа, Rails существует дольше, и ей уделяется много внимания, поэтому я бы предположил, что это более стабильная платформа для использования с более расширенными функциями.
JRuby имеет полный доступ к классам, написанным на Java, вот почему я бы посоветовал попробовать Rails.Если принимать решение уже слишком поздно, то, я думаю, вы можете просто проигнорировать этот пост.
В принципе, если вы просто хотите подключиться к Java, то JRuby - это вариант, который вам следует рассмотреть, но если команда боится синтаксиса, не похожего на Java, возможно, продолжайте как есть.
Я бы научился и тому, и другому.Это обе современные технологии.Изучение RESTful coding - это реальное преимущество на любом языке.
Я использую GRAILS на работе и RoR для побочных проектов.Я могу сказать, что сообщество RoR намного больше (я говорю о RoR vs Grails, а не о RoR vs Java) и очень полезно.
Краткий Ответ:Они очень похожи....чему это может повредить?
Я изучал RoR и Grails, и последнее гораздо проще в освоении.
Оба фреймворка используют одни и те же принципы (agile, kiss, dry, утиный ввод текста и так далее ..), Но синтаксис Groovy есть...well - это просто здорово, то, что вы можете изучить и использовать в мгновение ока.
Я действительно считаю, что у Grails более светлое будущее, чем у RoR.
ПД:На всякий случай, если вы сочтете это полезным, мой колледж работает полный рабочий день с Grails и ведет блог с несколькими советами:
Просто пропусти Рора.На самом деле похожих вещей (помимо названия) не так уж много
Я, безусловно, считаю, что достаточного знакомства с Java плюс некоторого опыта программирования на динамическом языке более чем достаточно, если вы планируете заниматься серьезной разработкой с Grails.
Сравнение только представлений (taglibs в Grails, RHTML в RoR) и сохраняемости (GORM vs ActiveRecord) слишком отличается по сути, чтобы тратить время на изучение мельчайших деталей RoR.Просто погрузитесь в Grails, и вы не пожалеете.
Редактировать:исправлена опечатка.
Вам следует просто пропустить RoR и сосредоточиться на изучении Grails, которые вам понадобятся для работы.
@Леви Фигейра
Во-первых, Grails гораздо более гибкий, чем Rails.Rails сложно использовать с устаревшей базой данных, потому что ActiveRecord имеет слишком много ограничений на дизайн, которым не следовали многие устаревшие базы данных.Grails, oth, может использовать стандартные сопоставления гибернации, которые могут работать с гораздо более широким спектром конструкций БД.
Сообщество Rails активно пропагандировало RoR, в результате чего были установлены высокие ожидания, которые не всегда оправдывались (производительность программистов высока, но обеспечить хорошую производительность после развертывания не так-то просто).
Grails был разработан как скриптовый преемник Java, в то время как интеграцию Ruby-Java, используемую, например, в JRuby on Rails, пришлось модернизировать.
Я бы посоветовал вам придерживаться Grails;возможно, у него нет такого блеска, как у RoR, но это прагматичный выбор;вы получаете повышенную производительность и повторное использование существующих библиотек Java.
Прыгайте прямо в Граали.Я уверен, что Ruby / Rails хорош, но так же и в Groovy / Grails.Я рекомендую эту книгу.
http://beginninggroovyandgrails.com
Помните, что исправления находятся в сети.В книге есть пара ошибок.
http://beginninggroovyandgrails.com/site/content/errata
Кроме того, ознакомьтесь с 3-минутной и 30-секундной демонстрацией создания вашего первого приложения Grails.
http://grails.org/Grails+Screencasts
Этот урок покажет вам основы.
Да, Граали - это правильный путь.RoR хорош, но он привязывает вас к экосистеме Ruby.Частью усилий по изучению нового фреймворка или языка является изучение библиотек классов, а также синтаксиса языка.Если все ваши коллеги работают на Java, у вас будет гораздо больше возможностей получить помощь и поддержку, поскольку все они будут говорить на том же языке, что и вы.
Другим преимуществом небольшого изучения Groovy и Java является то, что вам откроются веб-фреймворки, такие как GWT.Grails имеет плагин GWT, и как интерфейсный разработчик вы по достоинству оцените простоту использования и кроссбраузерную совместимость.
Кроме того, существует по крайней мере одна хостинговая компания, предлагающая бесплатный хостинг приложений Grails (http://www.mor.ph/) это означает, что вы можете создавать прототипы сайтов с небольшими объемами данных без необходимости платить.
Я предпочитаю Grails Rails, но изучение Rails даст вам более сбалансированную перспективу и фактически откроет вам глаза на упущенные вещи, которые возможны в Grails.
На первый взгляд можно подумать, что это совершенно разные истории, поскольку они основаны на совершенно разных языках (Ruby и Groovy).
Затем, прочитав пару руководств, вы поймете, что они используют одни и те же принципы: строительные леса, набор текста утками..и, наконец, та же цель: обеспечение возможности гибкого программирования.
Если вы уже освоились с такими терминами, как IoC и MVC, вы найдете любой из этих вариантов простым и увлекательным в изучении.
Я бы сказал, нет, я тоже изучаю Grails, и я рассматривал это тоже, но просто изучать Grails довольно сложно, плюс изучать Groovy (что, конечно, легко, но все равно нужно правильно этому научиться?) и все такое...так что изучать Rails было бы просто перебором.
Да, если мы сравним grails и rails, я бы выбрал grails (я разработал несколько интрасетевых приложений в grails).
Но Django превосходит и то, и другое - поскольку python, ну, хм, идеальный выбор.
Возможно, вы также захотите взглянуть на Clojure ( Клоджур ), язык JVM, который только начинает набирать популярность.Это может быть хорошим выбором для компании на базе Java, поскольку оно совместимо с вашей старой кодовой базой и содержит множество современных инноваций.Появляется несколько хороших веб-фреймворков, в том числе Комподжур.