Ruby on Rails
Что такое Ruby on Rails
Ruby on Rails – фреймворк для разработки бизнес-логики приложений, который написан на языке программирования Ruby. Фреймворк соответствует популярному в бекэнд-разработке шаблону MVC, которая переводится как «Модель-Представление-Контроллер». Архитектура MVC позволяет работать отдельно над каждым из трех элементов, дорабатывая и масштабируя любую из областей независимо от двух других.
Из чего состоит MVC:
- Модель – данные, которые реагируют на запросы от Контроллера;
- Представление – вывод данных пользователю, которые предоставляет Модель;
- Контроллер – передатчик запросов от пользователя к Модели для последующей обработки.
Фреймворк Ruby on Rails стал причиной популярности своего родного языка – Ruby. Ruby on Rails вышел в 2004 году и оказал влияние на такие фреймворки, как Django, написанный на языке Python, а также Laravel, написанный на языке PHP. Благодаря Ruby on Rails, язык Ruby стал популярным и востребованным языком в бекэнд-разработке.
Ruby on Rails содержит большое количество пакетов-расширений для решения типовых задач при разработке бизнес-логики приложения. К примеру, во фреймворк поддерживает готовые решения для настройки авторизации пользователей, безопасности передачи данных, а также кэширования файлов. Дополнительные пакеты для расширения функционала находятся в специальном репозитории – RubyGems. RubyGems содержит огромное количество пакетов, которые подходят для тех или иных задач – общее количество скачиваний пакетов уже перешло за 100 миллиардов.
Ruby on Rails соблюдает 2 принципа разработки:
- DRY «не повторяй себя» – фреймворк устроен таким образом, чтобы избежать переиспользования одинаковой части кода в разных компонентах;
- Convention over configuration «соглашение по конфигурации» – означает, что отдельные компоненты фреймворка оптимизированы под выполнение своей задачи и требуют дополнительных настроек в редких случаях.
Где применяют Ruby on Rails
Популярная сфера применения фреймворка – бекэнд-разработка сайтов. Возможно его применение в разработке бизнес-логики нативных приложений для мобильных и десктопных устройств. Вне зависимости от сферы применения, Ruby on Rails поддерживает архитектурный стиль REST API, через который возможна интеграция с фронтенд-фреймворком для создания веб-сайта, либо программной платформой для создания нативного приложения.
Преимущества разработки на Ruby on Rails
- быстрая разработка за счет особенностей архитектуры фреймворка;
- понятный синтаксис, который не вызовет путаницы у новых разработчиков готового проекта;
- повышенная надежность за счет использования метода разработки через тестирование;
- хорошая масштабируемость, возможность делать большие проекты;
- более компетентные разработчики в сравнении с более популярными языками, как PHP или Python;
- достаточно большое русскоязычное комьюнити и большое количество переведенной вспомогательной информации;
- регулярные обновления фреймворка, а также популярных дополнительных пакетов в RubyGems.
Недостатки разработки на Ruby on Rails
- в среднем, разработчики на Ruby on Rails стоят дороже, чем на Django или Laravel;
- Ruby считается медленным языком, из-за чего может потребоваться дополнительная оптимизация на проектах уровня enterprise;
- меньшее количество бекэнд-разработчиков, нежели на языках PHP, либо Python;
- фреймворк больше рассчитан на полноценное применение, нежели на использование в качестве микрофреймворка для решения определенных задач.
Примеры готовых работ на Ruby on Rails
- Площадка для аренды жилья Airbnb – airbnb.ru.
- Социальная сеть для дизайнеров Dribble – dribbble.com.
- Сервис для краудфандинга Kickstarter – kickstarter.com.
- Сервис для анонимных вопросов Ask.fm – ask.fm.
- Социальная сеть Mastodon – mastodon.social.