Подтвердить что ты не робот

Rails или Grails?

Grails vs Rails. Что лучше поддерживать? И какой из них лучше выбрать для разработки приложений среднего размера? Самое главное, у кого больше плагинов?

4b9b3361

Ответ 1

Еще одна вещь, о которой стоит упомянуть: философия дизайна обеих фреймворков несколько отличается, когда дело касается модели. Grails более "ориентирован на домен", в то время как Rails больше "ориентирован на базу данных".
В Rails вы, по сути, начинаете с определения своих таблиц (с именами полей и их спецификой). Затем ActiveRecord отобразит их в классы или модели Ruby.
В Grails это наоборот: вы начинаете с определения своих моделей (Groovy classes), и когда вы нажимаете run, GORM (эквивалент Grails ActiveRecord) создает соответствующую базу данных и таблицы (или обновляет их). Который может быть и тем, почему у вас нет концепции "миграции" в Grails (хотя, я думаю, это произойдет в будущем выпуске).
Я не знаю, лучше ли другой. Я думаю, это зависит от вашего контекста.

Говоря это, я все еще задаюсь вопросом, какой из них выбрать. Как сказал Том, если вы зависите от Java, вы все равно можете пойти на JRuby, поэтому повторное использование Java не должно быть вашим единственным критерием.

Ответ 2

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

Ответ 3

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

У Grails есть некоторые интересные качества, но пока не может претендовать на то, чтобы быть там с рельсами. Однако, если вы преимущественно разработчик Java или groovy, вы можете предпочесть его. В противном случае я бы предложил использовать Rails для проектов среднего размера прямо сейчас.

Ответ 4

Я говорю grails, так как там так много java-библиотек. Но я немного предвзятый из-за того, что я родом из java-фона.

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

Ответ 5

Это зависит от ваших навыков с Ruby и/или Groovy, независимо от того, имеете ли вы устаревшие системы Java, с которыми вы работаете, и где вы хотите развернуть свои приложения.

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

За пределами работы Ruby проще найти хостинг на нижнем уровне ценового спектра. Поскольку Grails использует много существующих Java-проектов, файлы .war, даже для небольшого приложения, имеют тенденцию быть большими. Если у вас выделенный сервер, это не проблема, но попытка запустить на общем хостинге с RAM объемом 128 МБ не работает.

2008 год является годом книг Groovy и Grails, но доступно еще много ресурсов Rails.

Основываясь на ваших конкретных критериях, Rails может стать лучшей основой для изучения. Если у вас есть знание Java или багаж;-), вы должны посмотреть на Grails.

Ответ 6

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

Когда я начал с рельсов, очень мало сайтов использовали его, а документация была ужасной. Был railscast, который был отличным и railsforum.com, но что-то необычное, вы сами по себе. Развертывание было кошмаром, и использование монгрел-кластеров не было действительно готовым к производству. Теперь это совсем другое, так как все видят, гораздо более зрелые и развернутые повсюду.

Более года назад мне пришлось изучать Грайль по причине, которую я привел выше. Переход к grails был очень легким, так как он очень похож на Rails. Опять же, это было очень похоже на ранние этапы рельсов с огромной разницей. Поскольку вы можете легко импортировать Java-код, пользователи Grails могут использовать почти все тестируемые Java-библиотеки, доступные там. Я смог успешно интегрировать наши проекты Java-проектов в проекты Grails и очень мало настроек. Вы также заметите, что разработка плагинов была быстрой, главным образом потому, что разработчики просто пишут grails "hooks", но основным кодом являются старые java-библиотеки. Развертывание grails также просто развертывает WAR файл.

Еще одна вещь, на которую вы должны обратить внимание, - это IDE. Если вам комфортно с затмением, то затмение-STS для грааля дает вам все колокола и свистки. Я по-прежнему вижу, что многие разработчики рельсов используют textmate, хотя рубинин добился больших успехов (ранняя версия рубимина использовалась для измельчения моего ubuntu до конца).

Суть в том, что оба являются отличными MVC-фреймами. RoR гораздо более зрелый и имеет гораздо больше разработчиков. Grails - это то, где RoR было 3-4 года назад, но я вижу прогресс намного быстрее. Надеюсь, это поможет.

Ответ 7

Увидев, как ребята, которые заставляют Grails только что выкупили вчера Spring, я бы сказал, что Grails.

Кроме того, поскольку Groovy является надмножеством Java, вы можете погрузиться прямо в использование Java, которое вам известно, без изучения Ruby. Теперь вы также узнаете много динамических материалов и в итоге напишите код Groovy вместо кода Java, но это снижает барьер для входа.

Грайлы полностью!

Ответ 8

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

Ответ 9

Могу ли я предложить Merb? Это стойка, модульная, ORM-агностическая, построенная для скорости от земли Ezra Zygmuntowicz. Сейчас начинает накапливаться жара...

Ответ 10

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

Теперь я начинаю копаться в Rails и иметь проблемы с драгоценным камнем. Хотя настройка соединения MySQL с Grails была довольно простой, я все еще изо всех сил пытаюсь заставить ее работать с Rails.

Команда gem install mysql не работает, по-видимому, потому, что у меня нет XCode.

Если бы не проблема с потреблением памяти, я бы сказал, что Grails идеально подходит.

Ответ 11

Rails более распространен, но менее гибкий. Грайлы все еще быстро меняются, не имеют единой экосистемы разработчиков, а документация не так зрелая, но она будет работать в некоторых ситуациях. Rails не будет.

Ответ 12

Я немного использовал турборезы и рельсы. Прежде чем использовать рельсы, я попытался использовать grails, потому что использовал groovy для своих скриптов. Грайлс был сложным опытом.

Стек вызовов groovy трудно читать для небольшой программы, но при добавлении нескольких фреймов весов простая ошибка может дать 100 строк. В отличие от рельсов версия grails, которую я использовал, не имела инструментов, помогающих мне определить, что принадлежит мне и что принадлежит структуре.

В конечном итоге я переключился на использование инструментария Google Web, так как мне действительно не нужна база данных.

Я думаю, что Grails и groovy обещают, но опыт работы с ними в настоящее время является громоздким (настоящее время является последним spring).

Ответ 13

Я думаю, что это зависит от среды, в которой вы работаете в некоторой степени.

Похоже, что у Grails больше корпоративного уровня.

Rails имеет Koolaid-vibe и очень приемлема для стартапов без устаревших систем.

Лично я использую оба. Хотя только на самом деле только начинается в мире Grails - мне нравится, что аутентификация/авторизация проще в Grails - один простой плагин; Широ. Мне нравится, что Rails не зависит от JVM и не занимает минуту или около того для запуска.

Я считаю, что настройка BDD/Cucumber внутри Rails намного проще, но это может быть просто из-за того, что мне нравится! Там определенно усилия в мире Grails (cuke4duke и т.д.), Чтобы сделать это проще - и активное сообщество, развивающее Grails.

Просто мой 2p ·

Попробуйте оба:)