2009-08-19 6 views
4

У меня есть босс, который убежден, что обучение Rails слишком крутой кривой обучения и не экономически выгодно с точки зрения рабочей силы, когда доступен прямой Ruby, работающий как приложение CGI на Apache. Он предлагает, для нашего переписывания, что мы используем прямой Ruby без рамки, а не Rails (или Merb, Sinatra и т. Д.). Я верю в свое сердце, что это плохая идея, но у меня возникают проблемы с вложением моего дела в слова. Некоторые идеи, которые я придумал до сих пор:Rails vs Ruby CGI

  • Rails способствует лучшему повторному использованию кода и лучшее разделение проблем с помощью MVC
  • Магазин работает рельсы будут выглядеть более привлекательными для квалифицированных соискателей, так как Rails выглядит лучше на его/ее резюме, больше удовольствия работать и т. д.
  • (Возможно, я ошибаюсь на этом) Rails будет иметь лучшую производительность на Пассажире, потому что Passenger автоматически объединяет соединения с базой данных, где в качестве приложения с переносимым CGI управлять самим собой или вообще не приводить к худшим результатам.
  • Rails является проверенной технологией, по крайней мере, конечно, больше, чем в handrolled рамок CGI

Есть ли какие-либо причины, я пропавшие без вести или неправы? Есть ли действительные компромиссы, о которых я не знаю?

ответ

14

Иногда возникают веские причины для того, чтобы компания могла сворачивать свою собственную инфраструктуру вместо использования стандартной рамочной системы. Но «Rails слишком крутая кривая обучения» не является одним из них.

Выполнение этого грубой силы на самом деле больше комплекс, а не меньше. Если ваш босс действительно обеспокоен кривой обучения, ему следует использовать стандартный каркас, который имеет documentation и articles и screencasts и entirehostingcompanies посвященный ему.

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

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

Его следует перенести в маркетинг без промедления.

1

Это не очень крутая кривая обучения. Вы можете попросить его пройти учебник, прежде чем принимать решение.

Кроме того, большое преимущество в том, что RoR является довольно популярной системой прямо сейчас. Установка плагинов тривиальна, есть много вариантов развертывания, которые уже выяснены - в основном большая часть работы, которая не является непосредственно «Программой», вероятно, будет проще.

И активная запись - это настолько полезно, что трудно представить себе приложение для веб-приложений и баз данных без него.

2

Использование Ruby on Rails по сравнению с Ruby - это разница между покупкой автомобиля и свариванием одного велосипеда из одной шины: оба доставят вас туда, куда вы направляетесь.

В самом сердце, я думаю, что это менее технологическая проблема, и проблема «управления», поскольку решение НЕ использовать Rails настолько смехотворно плохо в данный момент, чтобы быть бессмысленным.

Я думаю, что у вас есть два варианта:

  1. Разобраться способ сделать это, кажется, как будто с помощью Rails была ваша идея боссы все вместе. Вы можете сказать что-то вроде: «Босс, я слышал, что вы сказали, и вместо того, чтобы использовать полномасштабные Rails, я просто буду использовать его в качестве базовой структуры и выполнять большую часть работы в прямом Ruby».

  2. Принять инициативу, чтобы сделать прототип разработки в течение выходных, дать вашему богу что-то доказуемое, которое гласит: «Это, безусловно, путь».

Удачи.

3

У вашего босса есть причины для его осуждения? Помимо «чувства»? Каковы его настоящие проблемы - вы не будете иметь большого успеха в изменении своего ума, пока не выясните, каковы его основные проблемы. Не удивляйтесь, если они окажутся существенно отличными от того, что он сейчас говорит. Например, у него может быть иррациональный страх Danes.

У вас есть какие-либо конкретные причины для несогласия?

Как босс, я бы не стал слишком раскачиваться по причинам, которые вы перечисляете до сих пор: хорошие методы проектирования/кодирования не нуждаются в каркасе, подбор персонала - это не ваша забота, оптимизация производительности? Don't do it? Насколько доказано, чем CGI? (Он мог бы сказать, а не я: каждый день я пью Rails Kool-aid).

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

Если он обеспокоен перспективой затрат/усилий, почему он считает, что писать меньше кода (и получать тысячи строк полезного, проверенного кода рамки бесплатно) является более дорогостоящим и/или более трудоемким, чем в противном случае?

Кто-то еще упомянул о «управлении» - я предлагаю Google искать ресурсы для работы над этим.

Есть ли другие члены команды? Как они себя чувствуют?

Martin Fowler лихо (по крайней мере, в Agile мире) said что-то вроде «если ваша организация не делает то, что, по вашему мнению, должна, вы должны изменить свою организацию». Есть, по крайней мере, два способа читать это ...

3

Я думаю, что потенциально отличная идея состоит в том, чтобы использовать части RoR (Cough ActiveRecord) и катить свои вещи, если это упрощает вещи ... Я не являющийся каркасом какого-то парня, я предпочитаю библиотеки и некоторую степень абстракции кода, поэтому я никогда не ошибаюсь за поклонника RoR ... но я думаю, что заставить его использовать определенные части рельсов, может превратиться в использование всех рельсы.

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

Мой последний ответ встречается посередине ...Ruby EXTREMELY мощно в руках творческих программистов ... на самом деле, я в процессе повторного прокатки моих 2-х месяцев быстрого «броска» прототипа php/jquery в сайт erb/jquery ...

- Вслух громко - Не пытайтесь дерьмовать на Ruby on Rails ... но Rails - это то, что поезда продолжаются ... и поезда ходят быстро ... но они идут туда, куда вас трогают. Я больше отношусь к среде «Ruby off Road». Меньшая скорость, Больше контроля.

+1

любите свой последний пункт :) – draw