Один из важнейших — это DRY, Don’t repeat yourself — «Не повторяйся». Суть этого принципа в том, чтобы избегать дублирования кода и логики, используя уже существующие решения. Этот подход особенно важен в среде Ruby on Rails и является ключевым в ее архитектуре. О нем я вместе со специалистами Kursfinder.ru хочу поговорить сегодня.
Rails — фреймворк, который используется при разработке сайтов и приложений. Другими словами, это уже готовая платформа, которая имеет собственные инструменты, структуру, модули и т. д. Эти элементы позволяет ускорить разработку. Кстати, освоить фреймворк в короткие сроки вам помогут курсы Ruby on Rails из нашей подборки.
Rails используется для программирования на ООП-языке Ruby. Язык основан на идеи «потребности человека выше компьютерных». Другими словами, Ruby является простым в использовании языком сценариев. Rails создан так, чтобы еще больше упростить решение рабочих задач за счет двух основных принципов:
Ruby on Rails — это fullstack-фреймворк, который применяется как для серверной разработки, так и для создания пользовательских интерфейсов. Серверная часть включает модели, контроллеры, маршрутизацию, а также инструменты для работы с базами данных и обработки запросов от клиента. Компоненты интерфейса включают представления и шаблоны. Шаблоны часто используются для авторизации и аутентификации, чтобы определить, предоставлять ли доступ к закрытым разделам сайта.
Rails находят применение в различных сферах:
Множество известных сайтов и приложений работают на Ruby on Rails, среди них: Twitch, Ask.fm, Kickstarter и Bloomberg.
Работа Rails основывается на архитектурном шаблоне Model-View-Controller (MVC), что переводится как «Модель — Представление — Контроллер». Для лучшего понимания этой структуры рассмотрим пример интернет-магазина, торгующего товарами.
Модели — это шаблоны данных, которые применяются в приложении или на сайте. В контексте интернет-магазина модели представляют данные о товарах или других объектах.
Rails упрощает настройку таблиц базы данных, используя язык Ruby, благодаря чему разработчикам не нужно писать запросы на SQL. Модель служит местом для хранения данных, создания новых методов, определения областей видимости и других логических операций с базой данных.
Представление — это код, который формирует данные, отправляемые в браузер в ответ на запрос, поступивший на сервер. Этот код записывается в файл show.html.erb и может выглядеть следующим образом:
Действие отображается в отдельном файле с расширением .html.erb, называемом макетом. Макет содержит элементы, которые повторяются на всех страницах, такие как верхние и нижние колонтитулы, а также панели навигации.
Контроллеры — это компоненты, отвечающие за бизнес-логику и связь между моделями и представлениями. Они управляют обработкой запросов и используют методы моделей для получения данных. Например, запрос к контроллеру products с идентификатором товара (products/4) вызывает метод, который обрабатывает этот запрос:
Процесс запросов и ответов в архитектуре MVC выглядит следующим образом:
Несмотря на то, что Rails создан достаточно давно, он все еще пользуется популярностью и применяется в разработке по целому ряду причин:
Чтобы приступить к работе с Ruby on Rails, необходимо установить несколько ключевых инструментов: