Почему наши программисты используют Ruby on Rails, чем он отличается от системы управления контентов (CMS) и почему отлично подходит для интернет-проектов.
Иногда заказчикам бывает интересно, что там будет — «под капотом» их сайта, и они спрашивают нас: «А на какой системе вы разрабатываете сайты?». И тогда нам приходится несколько минут рассказывать о том, что наши программисты используют Ruby on Rails, что это фреймворк, чем он отличается от системы управления контентом (CMS) и почему отлично подходит для интернет-проектов.
Повторите эту процедуру десять раз и вам тоже захочется написать статью, чтобы на очередной вопрос просто дать ссылку.
Итак,
Ruby on Rails — динамический язык программирования с упором на простоту и продуктивность. Он обладает удобным синтаксисом, который приятно читать и легко писать. За это его и любят программисты.
Ruby on Rails — фреймворк, написанный на языке программирования Ruby on Rails, то есть программное обеспечение, облегчающее разработку и объединение разных компонентов проекта (например, авторизация пользователей или каталог статей в этом блоге).
Фреймворк, в отличие от CMS (системы управления контентом), которую может развернуть и настроить даже не-программист, требует проектирования и разработки квалифицированными специалистами. Но зато на нём проще и быстрее создавать проекты, которые отличаются своим функционалом от полностью типового сайта. А в студии и агентства редко приходят за полностью типовыми сайтами — для этого есть студенты и дешевые фрилансеры.
Преимущества

Основным преимуществом языка программирования Ruby on Rails и фреймворка Ruby on Rails является скорость разработки. На практике скорость разработки проектов на Ruby on Rails выше на 30-40 процентов по отношению к любому другому языку программирования или фреймворку. Такой прирост скорости разработки объясняется обширным набором готовых к работе штатных инструментов Ruby on Rails, возможностью использовать готовые решения других разработчиков, ну и, конечно, удобством программирования на Ruby on Rails.
Кроме того, в отличие от других фреймворков, в составе Ruby on Rails есть отличные средства автоматизированного тестирования, что ускоряет переход проекта от стадии «программа написана» к стадии «программа работает без ошибок». И поверьте на слово, зачастую именно этот переход отнимает больше всего времени при реализации практически любого проекта.
Так же следует отметить, что Ruby on Rails обеспечивает лучшую безопасность проекта. При использовании инструментов Ruby on Rails исключены SQL-инъекции и XSS-атаки, все входные параметры экранируется по умолчанию, выводимые переменные в шаблонах также экранируются. У разработчика просто нет шансов допустить ошибку безопасности (только если он не намеренно сам «выстрелил себе в ногу»).
Ограничения

Разработчиков на Ruby on Rails меньше, чем разработчиков на PHP и его фреймворках, так как выше порог входа и обычно программист приходит к Ruby on Rails уже после нескольких лет PHP. Но при этом стоит помнить, что хороших разработчиков одинаково мало во всех технологиях.
В Ruby on Rails мало дешевых разработчиков из-за отсутствия низкоквалифицированных программистов, которые бы использовали эту технологию. Новички тренируются на чем-то попроще. Хотя я не думаю, что вы хотели бы, чтобы ваш проект стал для кого-то «тренировочным».
Заблуждения и мифы о Ruby on Rails

Некоторые разработчики недостаточно хорошо знакомые с Ruby on Rails почему-то считают, что интернет-проекты, написанные на нем, плохо масштабируются. В пример чаще всего приводят всем известный Twitter, который в свое время отказался от Ruby on Rails по каким-то своим внутренним причинам.
Но посмотрите на Kickstarter, Groupon или Basecamp — все эти проекты написаны на Rails и у них нет никаких проблем с масштабированием. В любом случае, проблемы производительности любого проекта, — это не проблемы неверного выбора платформы или языка программирования. Чаще всего, это проблемы вызваны выбором ошибочной архитектуры проекта, кешированием данных или оптимизацией БД.
Для каких проектов Ruby on Rails подходит лучше всего
- Интернет-магазины со сложными фильтрами, модулями подбора, интеграциями с внешними системами.
- Купонные сервисы, сайты коллективных покупок.
- Информационные порталы, электронные издания.
- Биржи, торговые площадки.
- Сайты объявлений, сайты знакомств.
- Социальные сети.
- Необычные/нестандартные, технически сложные проекты.
- Сервисы, ПО в аренду.
- И просто когда нужно, что все было сделано быстро и хорошо.
Так что если вам требуется разработка или поддержка и развитие интернет-проекта на Ruby on Rails, то это к нам. А благодаря порядку и структурированности кода на Ruby on Rails мы так же легко можем взяться за техническую поддержку и решение срочных технических проблем вашего проекта на Ruby on Rails, даже если он был разработан не в нашем агентстве.

