Расскажите какую нишу занимает Ruby On Rails?
===============================================

 Заинтересовался Web разработкой, начал осваивать CodeIgniter. Почитал на Хабре отзывы о RoR. Много восторженных отзывов особенно от тех, кто перешел на него с PHP-фреймоврков. С другой стороны, на сегодня, реальные факты (количество вакансий, размер сообщества и т.п.) не дают повода сказать, что RoR убийца PHP-фреймворков. Я не хочу сравнивать Ruby и PHP. У каждого ИМХО есть своя ниша. Поэтому хотелось понять для себя:  
  

1. **Какую нишу сейчас занимает RoR. Какой проект есть смысл делать на RoR (вместо PHP-фреймворка) и почему?** Может есть какие-то особенности (типа необходимость AJAX и т.п.) ради которых лучше использовать RoR.  
  

2. Какие требования к хостингу необходимы для проектов на RoR? Какова скорость работы и нагрузка на сервер в сравнении с PHP-фреймворками? Есть ли смысл делать небольшие (типа сайт-визитка) проекты на RoR?   
  

3. Вообщем где эта грань, когда переход на RoR будет оправдан? 

 Разработать прототип проекта на ROR легко и быстро, собрать из гемов 80% функционала и интегрировать все. Но если проект собирается идти дальше прототипа, то встает вопрос производительности. Тут приходится делать выбор: либо писать гемы для себя вместо мегауниверсальных, но медленных, и, возможно, частично или полностью уходить от RoR, либо писать проект на системах с более производительными вариантами библиотек, как, например, PHP. 

 RoR − наиболее прогрессивная и динамичная технология на сегодняшний день. Освоив её раз, вопрос о PHP не встанет более никогда. Прогрессивность её, в непоследнюю очередь, в стимулировании использования других прогрессивных средств:  

  

HAML (вы больше никогда не будете писать HTML)  

SASS/SCSS (то же самое относительно CSS)  

git (контроль версий с всеми возможными свистелками)  

YAML (формат всего)  

«opinionated software» (навязывание лучших практик: называния таблиц всегда во множественном и т.п.)  

с версии 3 — дружба с HTML 5 и яваскриптными фреймворками, наподобие jQuery  

  

Из минусов — высокий порог вхождения: фреймворк объёмный, требует освоения (плюс десятилетия PHP, эм, видоизменяют мозг).  

  

Помимо сайтов непосредственно про рельсы, рекомендуются:  

github.com (сборище плугинов, да и репозиторий самих рельсов)  

heroku.com (уже упомянутый хостинг с бесплатным тарифом)  

odesk.com (на предмет вакансий: поищите, предостаточно)  

habrahabr.ru/blogs/ruby/28059/ (мой пост с примером чата на рельсах версии 2) 

 Ruby — еще один язык программирования со своей аудиторией поклонников. По синтаксису ближе к питону («Маяковского читаешь?»), по семантике — абсолютный ООП, что радует. Ruby-On-Rail — еще один MVC-фреймворк. Речь об «убийцах» не идет, AJAX можно реализовывать везде. Хостинг несколько экзотичен, поэтому или долго искать специализированный или разворачивать все на VPS.   

  

Время Ruby, судя по массовому рынку, еще не наступило и наступит ли вообще — неизвестно. Выбирать его в качестве единственного инструмента вряд ли разумно, но для саморазвития может быть очень интересно. Я на нашел искомой «революционности». Может, «рубиновых дел мастера» что-то подскажут — хотелось бы послушать… 

 Вы неправильно ставите вопрос. ЛЮБОЙ проект, который можно сделать на Rails — можно сделать и на PHP. Точно также, как его можно сделать. на python, java, .net, etc. Вопрос только в личном удобстве, способностях и затраченных усилиях.  

  

На Rails стоит делать любой проект, в том случае, если он вам нравится больше, чем PHP + фреймворк. 

 Учить стоит но не забрасывайте и пхп с фреймворками, мир рельс очень увлекательный, но ряд вещей иногда можно делать и на пхп и даже нужно 

 ROR хорошо годиться для малых и средних проектов в режиме write only (как perl). На нём пишется мало кода. но много магии и отсутствие средств контроля за это магией. Классичейский ООП, описанный в сотнях прекрасных книг здесь не пройдёт. Метапрограммирование предлагает свой путь, удобный для написания и невероятно трудный для поддержки и развития legacy code.  

Покапайтесь в кишках ROR и решайте, подходит ли их путь вашему, для большинства он идеален 

 На мой взгляд — если сравнивать именно PHP с фреймворками и Ruby On Rails, то и ниша, и количество вакансий у RoR больше. Просто огромная масса PHP девелоперов занимаются допиливанием Wordpress, Drupal,Bitrix и прочих CMS. Тут RoR мимо, на мой взгляд. 

 >>Хостинг несколько экзотичен, поэтому или долго искать специализированный или разворачивать все на VPS.  

Я так понимаю что это сразу отсекает мелкие проекты, когда допустим на одном хостинге может висет 10-20 проектов? 

 1. RoR разработчики в данный момент существенно дороже PHP. Несмотря на то что часто быстрая разработка на RoR оправдывает вложения, масштабирование усложняется из-за высокой стоимости.  

2. ruby безусловно медленнее php  

3. У ruby есть много gemов, в php, насколько я знаю, плагины используются реже. 

 Попробую уточнить вопрос:  

1. Есть ли какая нибудь статистика по RoR проектам? Может там большой процент веб-ориентированных проектов (социальные сервисы, стартапы), где требует быстро и много вносить всяких изменений или больший процент это корпоративные проекты?  

2. Есть ли какой-то «портрет» заказчика в RoR проектах (может там в основном какие-то интернет-инвесторы, готовые вкладывать в web) или наоборот, более оффлайн ориентированные клиенты, для которых web является лишь довеском к основному бизнесу? Каков процент российских иностранных заказчиков?  

3. Есть ли какой-то средний (минимальный) бюджет?  

4. Каков процент agile команд среди RoR и разработчиков на PHP-фреймворках?  

5. Каков спрос во фрилансе на RoR? 

 А вот расскажите, как в RoR обстоят дела с готовыми решениями? Допустим у .net и java огромное количество библиотек и фреймворков на все случаи жизни и у меня есть некоторые сомнения насчет руби, ведь у него сравнительно небольшое комьюнити. 

 Пока нашел только такое позиционирование (из рекламы одной веб-студии):  

«Программирование проектов выполняется по-разному: есть два основных подхода. Первый — «всё по техническому заданию». Второй — «переделываем всё до победного конца» (он же «гибкий метод», еще его называли раньше «экстремальным программированием»). От задачи зависит способ решения, то есть выбор языка программирования. Для первого случая подойдет любой (чаще всего выбирается PHP), для второго подхода мы используем Ruby on Rails («рельсы»).» 

 Вот небольшой анализ [Ruby VS PHP, Rails VS Zend Framework](http://tokarchuk.ru/2010/11/ruby-vs-php-rails-vs-zend-framework/). Думаю будет вам полезен. 

 Как бы ни был замечателен RoR, но это нечто, что:  

1. знает мало кто.  

2. Поддерживаем мало кто из хостеров.  

  

Т.е. решение не для продакшена, которое должно работать всегда и везде и т.п…  

В настоящий момент это что-то вроде линукса в 1998, игрушка для гиков, которая непонятно, вырастеть во что-то или нет.