Posted 26 сентября, 13:05

Published 26 сентября, 13:05

Modified 26 сентября, 13:07

Updated 26 сентября, 13:07

Что такое Ruby on Rails и зачем это нужно

Что такое Ruby on Rails и зачем это нужно

26 сентября 2024, 13:05
Фото: 1MI. Что такое Ruby on Rails и зачем это нужно
Реклама. ИП Власенко Сергей Владимирович, Город Новосибирск, ОГРНИП 318547600089160. erid: LjN8KXu3t
Разработка основывается на прочных принципах, которые применяются во всех языках программирования.

Один из важнейших — это DRY, Don’t repeat yourself — «Не повторяйся». Суть этого принципа в том, чтобы избегать дублирования кода и логики, используя уже существующие решения. Этот подход особенно важен в среде Ruby on Rails и является ключевым в ее архитектуре. О нем я вместе со специалистами Kursfinder.ru хочу поговорить сегодня.

Что такое Ruby on Rails

Rails — фреймворк, который используется при разработке сайтов и приложений. Другими словами, это уже готовая платформа, которая имеет собственные инструменты, структуру, модули и т. д. Эти элементы позволяет ускорить разработку. Кстати, освоить фреймворк в короткие сроки вам помогут курсы Ruby on Rails из нашей подборки.

Rails используется для программирования на ООП-языке Ruby. Язык основан на идеи «потребности человека выше компьютерных». Другими словами, Ruby является простым в использовании языком сценариев. Rails создан так, чтобы еще больше упростить решение рабочих задач за счет двух основных принципов:

  1. DRY, о котором я уже говорила в начале статьи. Его необходимо соблюдать, так как Railsобрабатывает единый для всех приложений код, который повторяется и позволяет уменьшить потребность в написании лишних строк. На практике это выглядит следующим образом:
  • чтобы повторно использовать и поддерживать работу контроллеров создается сервис, решающий определенную задачу и дает конечный ответ контроллерам;
  • модели остаются пригодными для повторного применения за счет концернов — расширений стандартных модулей;
  • функции пишутся таким образом, что их можно применять в разных местах;
  • выполняется создание общего контроллера, наследующего свойства от контроллера действий, общий контроллер, который наследует свойства от контроллера действий, а они, в свою очередь, наследуются прочими контроллерами;
  • из-за того, что не требуется писать одну и ту же информацию повторно, код на Railsполучается меньше, проще, он легче масштабируется и в нем меньше ошибок.
  1. «Соглашение важнее конфигурации». Принцип, который говорит о том, что в процессе разработки нужно следовать соглашениям, определенным инфраструктурой, а не менять конфигурацию самой платформы. На практике это выглядит так:
  • при наличии таблицы с названием userсоздается файл модели user.rb в папке моделей;
  • в случае, когда запрос поступает к пользовательскому контроллеру и функции индексирования, файл представления будет располагаться в views→ users под названием index.html.erb или index.html.haml.

Для чего нужен фреймворк, где его используют

Ruby on Rails — это fullstack-фреймворк, который применяется как для серверной разработки, так и для создания пользовательских интерфейсов. Серверная часть включает модели, контроллеры, маршрутизацию, а также инструменты для работы с базами данных и обработки запросов от клиента. Компоненты интерфейса включают представления и шаблоны. Шаблоны часто используются для авторизации и аутентификации, чтобы определить, предоставлять ли доступ к закрытым разделам сайта.

Rails находят применение в различных сферах:

  • интернет-магазины — фреймворк включает инструменты для e-commerce, обработки заказов, платежей и других функций;
  • социальные сети и платформы для обмена мультимедийными файлами;
  • системы для управления проектами и задачами;
  • сервисы бронирования и аренды (жилье, автомобили, билеты и т. д.);
  • образовательные платформы и онлайн-курсы;
  • новостные сайты и блоги с большим объемом контента.

Множество известных сайтов и приложений работают на Ruby on Rails, среди них: Twitch, Ask.fm, Kickstarter и Bloomberg.

Как работает Ruby on Rails

Работа Rails основывается на архитектурном шаблоне Model-View-Controller (MVC), что переводится как «Модель — Представление — Контроллер». Для лучшего понимания этой структуры рассмотрим пример интернет-магазина, торгующего товарами.

Модели — это шаблоны данных, которые применяются в приложении или на сайте. В контексте интернет-магазина модели представляют данные о товарах или других объектах.

Rails упрощает настройку таблиц базы данных, используя язык Ruby, благодаря чему разработчикам не нужно писать запросы на SQL. Модель служит местом для хранения данных, создания новых методов, определения областей видимости и других логических операций с базой данных.

Представление — это код, который формирует данные, отправляемые в браузер в ответ на запрос, поступивший на сервер. Этот код записывается в файл show.html.erb и может выглядеть следующим образом:

Действие отображается в отдельном файле с расширением .html.erb, называемом макетом. Макет содержит элементы, которые повторяются на всех страницах, такие как верхние и нижние колонтитулы, а также панели навигации.

Контроллеры — это компоненты, отвечающие за бизнес-логику и связь между моделями и представлениями. Они управляют обработкой запросов и используют методы моделей для получения данных. Например, запрос к контроллеру products с идентификатором товара (products/4) вызывает метод, который обрабатывает этот запрос:

Процесс запросов и ответов в архитектуре MVC выглядит следующим образом:

  1. Клиент отправляет запрос на веб-сервер.
  2. Запрос передается через контроллер, который принимает его для дальнейшей обработки.
  3. Контроллер анализирует запрос и сопоставляет его с маршрутом, который определяет нужный метод контроллера.
  4. Контроллер взаимодействует с моделью для получения данных из базы, выполняет бизнес-логику и подготавливает данные.
  5. После обработки данных контроллер передает их представлению для отображения, например, в файле index.html.
  6. Представление генерирует ответ, который отправляется обратно на сервер.
  7. Клиент получает этот HTTP-ответ или данные в формате JSON.

Плюсы Ruby on Rails

Несмотря на то, что Rails создан достаточно давно, он все еще пользуется популярностью и применяется в разработке по целому ряду причин:

  • подходит новичкам;
  • не требует много ресурсов;
  • позволяет получить последовательный и хорошо написанный код;
  • прост в масштабировании без больших вложений;
  • принципы и встроенные плагины фреймворка позволяют сократить время разработки;
  • прототипы намного быстрее разрабатываются;
  • упрощает тестирование;
  • развитое комьюнити.

С чего начать

Чтобы приступить к работе с Ruby on Rails, необходимо установить несколько ключевых инструментов:

  1. Ruby— основной язык программирования, который можно скачать с официального сайта.
  2. RubyGems— это менеджер пакетов, который отвечает за установку и управление библиотеками, а также фреймворками. Обычно он уже устанавливается вместе с Ruby.
  3. Rails— сам фреймворк. Для его установки достаточно выполнить команду в терминале: gem install rails.
  4. СУБД (система управления базами данных) — для работы с базами данных, таких как MySQLили PostgreSQL, также потребуется установка одной из них.
Подпишитесь