Разрушение Ruby on Rails Myths

Я работаю над проектом для клиента ИТ-компании, в которой я работаю, и я убежден, что Rails идеально подходит для этого. У меня есть встреча на следующий день или около того, где я боюсь, что меня обманут "почему Rails?". и, без сомнения, целая куча риторики типа "Rails не масштабируется", "Rails - это просто CMS", а тысячи других мифов, похоже, имеют о Ruby on Rails.

У нас есть все аргументы о том, как Rails не масштабируется, его трудно развернуть или что он взорвется в ваших руках в любой момент. Для тех из нас, кто ежедневно использует Rails, мы знаем это точно так же, как любой другой язык или фреймворк. Похоже, что существует много дезинформации о RoR, и часто Rails получает плохую упаковку. Чтобы помочь мне с этой встречей, я надеялся составить список мифов - возможно, один миф за каждый ответ - и мы можем проголосовать за мифы, которые мы слышали раньше, - чтобы устранить Страх, Неопределенность и Сомнение, которые часто обманывают правду о Rails.

После некоторого googling я нашел это сообщение в блоге, которое именно то, что я хотел бы сравнить здесь. Как говорит Дэвид Хейнемайер Ханссон в сообщении:

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

Это на самом деле не убедить вас что вы должны использовать Rails. Только вы можете сделать этот выбор. Но дать вы факты, чтобы вы могли сделать свой собственный обоснованное решение. Тот, который не основанный во многих мифах, плавающих вокруг.

Пусть Clarify!

Ответ 1

Миф: "Ruby on Rails не масштабируется"

Бюст: Это не конкретный ответный вопрос. Просьба уточнить.

Говоря о том, что любая технология "не масштабируется" звучит очень профессионально и очень предприимчиво, но это не ясный вопрос. Это просто ленивый способ отклонить неизвестный/недоказанный, я прошу разъяснения:

"Что именно вы подразумеваете под" шкалой "и как вы оцениваете его сейчас?"

Это может означать:

  • Максимальные сеансы пользователя
  • Среднее время отклика при загрузке
  • Пропускная способность заданных параллельных сценариев на сервер за фиксированное время.
  • ... трудности с организацией проекта, чтобы на нем могла работать большая команда разработчиков.

Существует множество способов иметь дело с "шкалой", но пока вы не знаете, с кем вы имеете дело, не всегда очевидно, что с этим делать.

Существует множество решений на основе Ruby, включая

  • кеширование фрагментов HTML
  • обход приложения через несколько баз данных
  • предварительная работа, совместно используемая пользователями
  • толкает много рендеринга рендеринга на AJAX/Javascript, так что это происходит на клиенте
  • более эффективно использовать интерфейсный веб-сервер
  • просто использовать больше аппаратного обеспечения (т.е. время разработки дорогое и цены на оборудование снижаются), но этот подход зависит от неглубокой скорости роста спроса
  • делает меньше интерактивно и имеет большую пакетную работу.
  • выполнение только части работы в рубине - например. существующий интерфейс backend + rails frontend или, возможно, транзакции через функциональную систему программирования + интерфейс rails

Если соперник не может придумать определенное значение "шкалы", это не относится к действительности.

Однако, если претенденту придумать что-то конкретное и измеримое, я бы использовал решение с временным разделением, spike (http://c2.com/xp/SpikeSolution.html) вернуться с некоторыми номерами - и, возможно, несколько вариантов того, как это сделать.

Ответ 2

Сделайте аргумент с единственной точки зрения, которую клиент понимает, деньги!

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

В ответ на конкретные критические замечания, которые компания может иметь против Ruby on Rails по сравнению с их собственными системами, есть много причин, которые может дать компания, некоторые из которых не являются специфичными для Ruby или Rails, например, у них уже есть много Java, дом или существующую инфраструктуру, написанную на Java, которая всегда будет проще использовать с той же языковой системой, как Java. В любом случае, чтобы ответить на ваши конкретные вопросы:

1) Почему Rails? Простой, Rails "разработан" для создания веб-сайтов и выполняет эффективную работу. Найдите некоторую статистику, чтобы поддержать вас (я не говорю, что статистика в ссылке точна, но числа всегда будут поражать клиента)

http://www.theserverside.com/news/thread.tss?thread_id=33120

2) Rails не масштабируется

http://trak3r.blogspot.com/2008/03/rails-doesnt-scale.html

3) Rails - это просто CMS? Если они строят CMS, тогда рекомендуем Drupal, а не Rails

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

Ответ 3

Миф: Rails недостаточно зрелый, чтобы создавать множество упрощенных библиотек с открытым исходным кодом, которые нужно быстро и надежно вытащить крупномасштабный проект.

Бюст: На самом деле, существует огромное количество драгоценных камней и плагинов, доступных для сообщества RoR, многие из которых были опробованы и признаны действительными для активного сообщества. Ресурсы не только там, но и просты в управлении с помощью встроенной плагиновой архитектуры "gem" и Rails. Худший сценарий: вы не можете найти этот идеальный драгоценный камень или плагин. В этом случае вы можете легко написать свой собственный или заимствовать из Java-мира, если используете JRuby.

Ответ 4

Миф: трудно нанять хорошего программиста Ruby on Rails.

(На самом деле, я не могу его разорить, это просто идея о потенциальном мифе. Кто может, пожалуйста, отредактировать это или создать другой ответ)