Разорение Руби на Рельсах Мифы - PullRequest
10 голосов
/ 16 ноября 2009

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

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

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

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

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

Давайте уточним!

Ответы [ 4 ]

6 голосов
/ 16 ноября 2009

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

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

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

«Что именно вы подразумеваете под« масштабом »? И как вы измеряете его в данный момент?»

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

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

Есть много способов справиться с «масштабом», но пока вы не знаете, с каким вы имеете дело, не всегда очевидно, что с этим делать.

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

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

Если претендент не может придумать конкретное значение «масштаб», то это не имеет значения.

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

4 голосов
/ 16 ноября 2009

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

Покажите, сколько времени вам понадобится, чтобы заработать на 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,как использовать правильный инструмент для правильной работы

2 голосов
/ 16 ноября 2009

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

Бюст: Фактически, существует множество драгоценных камней и плагинов, доступных для сообщества RoR, многие из которых были опробованы и признаны активным сообществом верными. Мало того, что ресурсы там, но они просты в управлении с помощью встроенной архитектуры плагинов 'Gem' и Rails. В худшем случае: вы не можете найти этот идеальный драгоценный камень или плагин. В этом случае вы можете легко написать свой собственный или позаимствовать из мира Java, если вы используете JRuby.

1 голос
/ 16 ноября 2009

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

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

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