Фреймворк Ruby on Rails
Rails — это прежде всего среда разработки, которая великолепно подходит для создания любого типа веб‑приложений: систем для управления веб‑сайтами и платформ для ведения электронной торговли, программ для организации совместной работы и для веб‑сервисов для коммуникации, для CRM и ERP‑систем, статистических и аналитических систем.
Ruby on Rails (RoR или Рельсы) — это многоуровневый MVC-фреймворк для построения веб‑приложений, использующих реляционные и NoSQL базы данных (например, MySQL, MariaDB, PostgreSQL, MongoDB). Фреймворк написан на языке программирования Ruby. Rails подходит как для разработки обычных сайтов, которые должны быть реально быстрыми, отказоустойчивыми и работающими под высокой нагрузкой, так и для веб‑приложений со сложной бизнес‑логикой и динамичными веб‑интерфейсами. Ruby on Rails является открытым программным обеспечением и распространяется под лицензией MIT.
Профессиональные разработчики
Стоит отметить, что на языке программирования Ruby работают в основном профессионалы: порог вхождения тот факт, что на языке программирования Ruby работают в основном профессионалы: порог вхождения достаточно высок, поэтому программисты на Ruby обычно приходят уже после нескольких лет работы на любых других языках программирования (чаще всего из мира PHP). Поэтому даже начинающий Ruby‑программист — это опытный веб‑разработчик с большим запасом знаний и опыта. Для языка Ruby самый популярный фреймворк — это Rails: значительная часть веб‑приложений на Ruby, которые написаны на 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
- «Нет разработчиков». Миф. Разработчики есть. Их меньше, например, чем на PHP или JavaScript, но и их средний уровень выше; к тому же среди JavaScript- и PHP‑разработчиков очень много «верстальщиков» с весьма поверхностными знаниями веб‑разработки, которые не в состоянии написать даже самое простое веб‑приложение, а могут только вносить изменения в уже существующие. Если сравнивать Ruby с Python, Go и Java, то число разработчиков сопоставимо, а в сравнении с .NET, Haskell, Elixir и Perl — Ruby‑разработчиков даже больше.
- «Очень дорого». Миф. Хорошие веб‑программисты вообще стоят дорого, вне зависимости от языка и платформы разработки. Уровень зарплаты программиста на PHP и программиста на Ruby сопоставим, если первый и второй в состоянии написать программу сложнее «Hello, world!», разрабатывают на фреймворках, знают ООП, парадигму MVC, архитектурные паттерны, а также имеют многолетний опыт работы в сфере.
- «Медленно» и «Немасштабируемо». Мифы. 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 — рубин, руби) — интерпретируемый мультипарадигмальный язык программирования: динамический, объектно-ориентированный, рефлективный, императивный, функциональный. Активно используется в веб‑разработке, в системном администрировании и в работе операционных систем (Mac OS X, Linux, BSD).
Разработку сложных веб‑проектов с использованием фреймворков на текущий момент экономически целесообразно вести на одном из следующих языков: PHP, Ruby, Python, Java и C# (платформа .NET). Каждый из языков имеет далеко не по одному фреймворку, написанному на нём. В этой статье мы не будем рассматривать преимущества языка программирования Ruby и фреймворка Ruby on Rails с технической стороны, а рассмотрим факторы, влияющие на выбор этой платформы с точки зрения бизнеса.
С технической точки зрения любая функциональность может быть реализована или на CMS, или на фреймворке, или без использования каких‑либо платформ на чистом языке программирования. Однако некоторые проекты проще сделать на CMS, некоторые — на фреймворке, а разработка без использования платформ редко бывает рациональным решением с точки зрения бизнеса. В большинстве случаев, выбор платформы стоит основывать на экономических критериях. В статье приведены основные критерии, которые позволят принять обоснованное решение по этому вопросу.
От выбора платформы для разработки зависит как сама возможность реализации необходимой функциональности, так и трудоёмкость дальнейшего развития веб‑проекта. Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS‑решение.
SaaS‑платформы еще часто называют «конструкторами сайтов». Основное преимущество этого варианта — весьма хороший уровень качества за очень небольшие деньги. Но кастомизация SaaS‑решений очень ограничена.
Система управления сайтом (CMS) служит для разработки стандартных разновидностей сайтов. Многие небольшие и средние сайты строятся именно на CMS‑платформах, так как это наиболее целесообразный с экономической точки зрения подход.
Фреймворк — это программный продукт, который так же, как и CMS, служит основой для сайта, но фреймворк — это более низкоуровневое решение, обладающее большей гибкостью и производительностью в сравнении с CMS. Этот вид платформ используют почти все крупные веб‑проекты, а также подавляющее большинство веб‑приложений и веб‑сервисов.
Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк — это сочетание готовых программных компонентов с методологией их использования, облегчающее разработку программного продукта. Благодаря использованию фреймворков достигается не только высокая скорость разработки, но и высокая производительность, безопасность и надёжность решений.
Наши услуги
Информационные системы для бизнеса
Специализируемся на заказной разработке и внедрении корпоративных приложений, бизнес‑систем и сервисов для автоматизации.