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

Ruby on Rails (RoR) — фреймворк, написанный на языке программирования Ruby, позволяющий разрабатывать надёжные и сопровождаемые веб-приложения под высокие требования к скорости работы и устойчивости к нагрузкам.

Фреймворк Ruby on Rails  использовался при создании таких популярных сайтов и приложений, как inSales, Shopify, Lenta.ru, Netflix, Basecamp, GitHub, Zendesk, Twitter, SoundCloud, Airbnb, Diaspora, Groupon, Dribbble, Bloomberg, Hulu, Kickstarter, Yellow Pages, Change.org, SlideShare, Upwork, 500px, Couchsurfing и многих других. Все эти проекты весьма известны и посещаемы, наверняка в этом списке вы встретили знакомые названия.

Rails — это многоуровневый веб-фреймворк, основанный на концепции MVC и использующий лучшие практики в разработке:

  • DRY — максимальное повторное использование кода, позволяющих минимизировать дублирование. Благодаря следованию этому принципу код становится значительно проще сопровождать и внесение изменений ускоряется.
  • Convention over configuration — по умолчанию используются соглашения по конфигурации, явная спецификация требуется только в нестандартных случаях. Это позволяет быстрее и проще реализовывать стандартную функциональность, но при этом не блокируется возможность реализации и чего-то необычного.
  • Ориентация на автоматизированное тестирование. Фреймворк не только поощряет автоматизацию тестирования, но и имеет набор встроенных инструментов для этого. Наличие тестов и их автоматическое выполнение сокращает число ошибок в разрабатываемом ПО, а также значительно сокращает время, необходимое для внесения изменений в кодовую базу проекта. 

Ruby on Rails написан на языке программирования Ruby, то есть ко фреймворку также применим набор принципов Ruby Way: 

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

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

Этот выбор вполне осознанный и он основан на опыте работы с несколькими платформами. В частности, мы начинали с фреймворков Yii и Symfony, затем достаточно много работали с Laravel и Django — всё это хорошие фреймворки, но в наших кейсах Ruby on Rails оказался более оптимальным решением как по скорости и качеству разработки, так и по уровню дальнейшей сопровождаемости.

Мы разрабатываем сложные сайты и веб-приложения на фреймворке Ruby on Rails.

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

Узнать больше →

Мы специализируемся на разработке сложных проектов на Ruby on Rails и обладаем многолетним опытом в этом направлении.