Фреймворк Ruby on Rails

Rails — это прежде всего среда разработки, которая великолепно подходит для создания любого типа веб‑приложений: систем для управления веб‑сайтами и платформ для ведения электронной торговли, программ для организации совместной работы и для веб‑сервисов для осуществления коммуникации, для учетных и ERP‑систем, статистических и аналитических систем.

Ruby on Rails (RoR или Рельсы) — это многоуровневый MVC-фреймворк для построения веб‑приложений, использующих реляционные и NoSQL базы данных (например, MySQL, MariaDB, PostgeSQL, MongoDB). Фреймворк написан на языке программирования Ruby. Rails подходит как для разработки обычных сайтов, которые должны быть реально быстрыми, отказоустойчивыми и работающими под высокой нагрузкой, так и для веб‑приложений со сложной бизнес‑логикой и динамичными web‑интерфейсами. Ruby on Rails является открытым программным обеспечением и распространяется под лицензией MIT.

Профессиональные разработчики

Стоит отметить то факт, что на языке программирования Ruby работают в основном профессионалы: порог вхождения достаточно высок, поэтому программисты в Ruby обычно приходят уже после нескольких лет работы на любых других языках программирования (чаще всего из мира PHP). Поэтому даже начинающий Ruby‑программист — это опытный веб–разработчик с большим запасом знаний и опыта. Для языка Ruby самый популярный фреймворк — это Rails, более 90% веб‑приложений, которые написаны на Ruby, используют именно Рельсы.

Культура разработки на Ruby on Rails

Основными принципами разработки на Rails являются:

  • Принцип DRY (Don’t repeat yourself) — фреймворк предоставляет механизмы повторного использования программного кода. Это позволяет не только минимизировать дублирование кода, но и повысить скорость разработки.
  • Принцип Convention over configuration — по умолчанию во фреймворке используются многочисленные соглашения по конфигурации, типичные для большинства приложений. Это очень упрощает создание приложений, так как явная спецификация конфигурации требуется только в нестандартных случаях.
  • Автоматизированное тестирование — в составе RoR поставляются средства для проведения полностью автоматического модульного, интеграционного и функционального тестирования, а идеология Ruby on Rails предполагает использование методов разработки через тестирование (TDD — Test Driven Development). Всё это делает разработанные приложения реально надёжными.

Расширяемость фреймворка Ruby on Rails

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

Мифы о языке Ruby и о фреймворке Ruby on Rails

  1. «Нет разработчиков». Миф. Разработчики есть. Конечно, их меньше, чем на PHP, но и средний уровень «на голову» выше — очень многие из тех, кто называет себя php‑программистом, на самом деле всего лишь верстальщики с поверхностными знаниями языка программирования, которые не в состоянии написать даже самое простое веб‑приложение. Если сравнивать Ruby с Java, то число разработчиков сопоставимо, а в сравнений с .NET, Python и Perl — Ruby‑разработчиков больше.
  2. «Очень дорого». Миф. Хорошие веб‑программисты вообще стоят дорого, вне зависимости от языка и платформы разработки. Уровень ЗП программиста на PHP и программиста на Ruby сопоставим, если первый и второй в состоянии написать программу сложнее «Hello, world!», работают на фреймворках, знают ООП, парадигму MVC, а также имеют опыт работы в сфере более 3х лет.
  3. «Медленно» и «Немасштабируемо». Мифы. GitHub, Groupon, Basecamp, Twitter, Lenta.ru и еще многие проекты с многотысячной посещаемостью используют Rails: работают быстро, нагрузки выдерживают и отлично масштабируются.

Отзывы о платформе Ruby on Rails

— Rails is the killer app for Ruby. Yukihiro Matsumoto, создатель языка Ruby
— After researching the market, Ruby on Rails stood out as the best choice. We have been very happy with that decision. We will continue building on Rails and consider it a key business advantage. Evan Williams, создатель Blogger и Twitter
— Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days. Tim O"Reilly, основатель O"Reilly Media

Резюме

Мы разрабатываем веб‑проекты на Ruby on Rails и считаем правильным выбор этой платформы для разработки действительно сложных решений. Еще несколько бизнес‑значимых причин выбрать Ruby on Rails для разработки веб‑приложения или сайта.

Тематические статьи

Язык программирования Ruby

Ruby (ruby — рубин, руби) — интерпретируемый мультипарадигмальный язык программирования: динамический, объектно‑ориентированный, рефлективный, императивный, функциональный. Активно используется в веб‑разработке, в системном администрировании и в работе операционных систем (Mac OS X, Linux, BSD).

Ruby
Ruby on Rails
языки программирования
бэкенд
веб-разработка
Статья опубликована в 2014 и обновлена в 2022 году

Почему стоит выбрать Ruby on Rails для разработки веб‑приложения или сайта?

Разработку сложных веб‑проектов с использованием фреймворков на текущий момент экономически целесообразно вести на одном из следующих языков: PHP, Ruby, Python, Java, C#. Каждый из языков имеет далеко не по одному фреймворку, написанному на нём.

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

Ruby
Ruby on Rails
фреймворки
платформы
веб-разработка
бэкенд
Статья опубликована в 2014 году

Выбор между CMS и фреймворком

С технической точки зрения любой функционал может быть реализован или на CMS, или на фреймворке, или реализован без использования каких‑либо платформ на чистом языке программирования.

Однако некоторые проекты проще сделать на CMS, некоторые — на фреймворке, а разработка без использования платформ редко бывает рациональным решением с точки зрения бизнеса. В большинстве случаев, выбор платформы стоит основывать на экономических критериях. В статье приведены основные критерии, которые позволят принять обоснованное решение по этому вопросу.

CMS
фреймворки
платформы
веб-разработка
бэкенд
Статья опубликована в 2019 году

Платформы для создания сайтов: CMS, фреймворки и SaaS‑решения

От выбора платформы для разработки зависит как сама по себе реализуемость необходимого функционала, так и возможности дальнейшего развития веб‑проекта. Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS‑решение.

SaaS‑платформы еще часто называют «конструкторами сайтов». Основное преимущество этого варианта — весьма хороший уровень качества за очень небольшие деньги.

Система управления сайтом (Content Management System) служит для разработки стандартных разновидностей сайтов. Много небольших и средних сайтов строится именно на CMS‑платформах, так как это наиболее целесообразный с экономической точки зрения подход.

Фреймворк — это программный продукт, который также как и CMS служит основой для сайта, но фреймворк в отличие от CMS — это более низкоуровневое решение, обладающее большей гибкостью и производительностью. Этот вид платформ используют почти все крупные веб‑проекты, а также подавляющее большинство веб‑приложений и веб‑сервисов.

платформы
фреймворки
CMS
SaaS
бэкенд
веб-разработка
Статья опубликована в 2019 году

Фреймворки в веб‑разработке

Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов.

Фреймворк — это программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Благодаря использованию фреймворков достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.

фреймворки
бэкенд
веб-разработка
платформы
Статья опубликована в 2019 и обновлена в 2023 году