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

Groovy/Grails:: Ruby/Rails:: 2011 Состояние структуры

Да, существует несколько подобных потоков, но мы сейчас в 2011 году, и многое изменилось.

Grails 1.3.6 значительно улучшился по сравнению с v1.3, когда я сначала попытался изучить структуру (и отказался от медленного времени компиляции и других событий, вызывающих стон).

Проведя пару месяцев с последней версией, я впечатлен тем, что добавление приложения - это абсолютный ветерок (GORM отлично!). В режиме разработки больше не нужно перезапускать, запрещая изменения в классах домена. Groovy.lang является фантастическим (в виду, это сравнивается с моей повседневной работой в PHP).

Теперь, с другой стороны, есть Ruby/Rails, и у меня мало опыта в том, что вы не просматриваете документы Ruby и не изучаете Active Record (для сравнения с GORM). Исходя из PHP/Jquery, синтаксис groovy - это торт, рубин не так много, хотя и доступен.

Ruby/Rails - это все ярость, в то время как Groovy/Grails, по-видимому, быстро набирает скорость.

Я хотел бы услышать, что должны сказать оба лагеря (пламя, побуждающее к войне на войне) re: плюсы/минусы как langs/framework теперь в 2011 году. При выборе структуры важно знать, что вы получаете, так что есть у него, новички будут полезны, а эксперты могут выпустить; -)

4b9b3361

Ответ 1

Rails и Grails - отличные рамки с их текущими выпусками. Вы тоже не ошибетесь. Вот некоторые вещи, которые мне интересны, хотя:

Рельсы

  • Rails (Ruby) не масштабируется, как и Grails (Groovy). Вам понадобится больше лошадиных сил для запуска вашего приложения. Это не большая проблема с параметрами PaaS, такими как EngineYard (и, надеюсь, опция AWS BeanStalk Rails в будущем), но это может стоить немного больше, чтобы запустить приложение Rails и приложение Grails (очевидно, JRuby также является вариант, хотя).
  • Rails немного лучше с альтернативами NoSQL в настоящее время, но Grails быстро догоняет
  • В Rails есть много плагинов, но это может привести к проблемам, если вы используете некоторые из них, которые не поддерживаются (многие из них в настоящее время не работают с Rails 3).
  • Rails более зрелый и имеет больше возможностей в этот момент времени, потому что он был длиннее
  • Поддержка Rails REST удивительна.
  • Есть еще много "больших" Rails-сайтов, чем Grails
  • Ruby гораздо более популярен, чем Groovy - TIOBE
  • Никакая зависимость от Oracle, ха! (Очевидно, что Grails нуждается в JVM)

Grails

  • Grails интегрируется с JVM лучше, чем JRuby
  • Grails GORM лучше, чем ActiveRecord (IMHO), хотя Rails 3 немного открыл дверь для других параметров сохранения, но все книги, учебники и т.д. используют ActiveRecord
  • Grails View taglib лучше, чем < =%...% > в поле зрения
  • Плагины Grails хорошо документированы и четко указывают, поддерживаются ли они SpringSource или нет.
  • SpringSource вкладывает значительные средства в Grails
  • В будущем будет еще больше корпоративных заданий для Grails, чем Rails, но больше запусков использует Rails (где вы хотите работать?)

Моя перспектива

  • Я использовал Rails пару лет назад, сейчас я работаю над проектом Grails.
  • Мне нравятся они лучше, чем Django (Python) или Zend Framework (PHP)
  • Я планирую изучить Lift (Scala) next

Моя рекомендация

  • Если вы никогда не занимались разработкой Java и не работаете над побочным проектом для малого и среднего веб-сайта, перейдите с Rails
  • Если вы работаете в крупной компании, использующей Java, попробуйте передать Grails вашему руководству в качестве "следующей платформы Java", которую они должны инвестировать в
  • Если вы работаете над "очередным твиттером или четырьмя квадратами", хорошо, тогда вы достаточно умны, чтобы сами ответить на этот вопрос!:)

Ответ 2

В первый раз, когда я начал проект с Rails, я был очень удивлен:

  • Как я могу отделить "репозиторий" от "Сервис"? Боже мой: мне нужно поставить бизнес-логику на контроллеры... Я не могу представить себе настоящий большой проект с Ruby on Rails: есть ли кто-то из 37-х, которые помнят основы разделения Business and Domain/Repository. Структура папок/классов Rails не заботится об этом.

  • Второй носок: "Активная запись". Попробуйте создать реальный сложный объектно-ориентированный бизнес-уровень и сопоставить его с использованием моделей Rails (Active Record)... на самом деле: не надо.

  • 6 месяцев спустя, с нашим проектом: R & R потребляет 80% CPU (и память...), используя apache + passanger на четырехъядерном сервере... и база данных Postgresql находится в отпуске ( 3-4% процессора)... О, боже (недавно)

    Мои старые приложения ASP/VB6, способные обслуживать страницы до 300 одновременных пользователей в реальном контексте backoffice с реальными сложными базами данных и сложным бизнесом, установленным на автономной машине (один год ядра ядра 1 2001 года).

Конечно, условности и синтаксис Ruby прекрасны... и никто не нуждается в компиляторе (ну... единичные тесты используются для этой porpouses в 90% случаев... просто для решения проблемы отмены ввода каждый раз, когда я изменить какой-то код... "Пожалуйста, бог программирования, позаботьтесь о моих пальцах" )

Первое погружение в Grails:

  • Стек "Cool", вдохновленный Rails с профессиональной мощью, основанный на структуре Spring (IoC, Hibernate,...)

И ДА!!!

  • Существует чистое разделение домена/службы. NICE!!!
  • Вы можете, в конце концов, забыть Java.

Ответ 3

Рельсы довольно зрелые, у них есть ОГРОМНАЯ экосистема. Я не знаком с Grails или он поддерживает онлайн, но красный флаг, который я вижу в вашем посте, - это то, что вы признали, что Grails играет догнать Rails.

Ruby - это абсолютная радость для работы (и это происходит из старого взлома С++... почему, в тот же день, когда я использовал программу с шестнадцатеричной клавиатурой, молодой whippersnapper... теперь ПОЛУЧИТЕ МОЙ ЗАКОН!).

Есть вещи, связанные с рубином, из-за которых трудно следовать порой (method_missing, я смотрю на ВАС), но я уверен, что это можно сказать о любом языке.

Me? Я бы пошел с рубинами и рельсами.

Ответ 4

Хорошо для grails, я все еще думаю, что даже догнать, у него есть две основные вещи, которые рельсы не будут иметь в простой форме:

  • масштабирование
  • тонны зрелых библиотек java на кончиках ваших пальцев (лично геотестующие среди других)

Ответ 5

Ruby on Rails выдающийся - как Pink Floyd веб-разработчика.

Groovy на Grails это достойная копия - вроде как австралийское шоу Pink Floyd...

BTW - У нас есть и на работе, и я видел, как многие разработчики Grails в конечном итоге изучают Rails и придерживаются этого.

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

Примерно в половине случаев наши разработчики Java изучают Grails и просто держатся подальше от Ruby.

ИМХО. Если вы действительно хорошо знаете, вы почти всегда будете любить Ruby и Rails.

Ответ 6

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