Основи Ruby on Rails

Ruby on Rails — це фреймворк для веб-застосунків, написаний мовою програмування Ruby. Він слідує архітектурному шаблону Model-View-Controller (MVC) і розроблений для того, щоб зробити веб-розробку більш зручною та ефективною.
Ось деякі основні концепції Ruby on Rails:

1. Архітектура MVC:

  • Model (Модель): Представляє дані та бізнес-логіку застосунку. Взаємодіє з базою даних, обробляє дані та визначає поведінку застосунку.
  • View (Представлення): Відповідає за презентацію та інтерфейс користувача. Відображає дані користувачу та передає введені дані контролеру для обробки.
  • Controller (Контролер): Обробляє введення користувача, здійснює їх обробку і взаємодіє з моделлю та представленням для досягнення бажаного результату. Контролер виступає як посередник між моделлю та представленням.

pic

2. Конвенція замість конфігурації (Convention over Configuration, CoC):

  • Ruby on Rails дотримується принципу конвенції замість конфігурації, що означає, що розробникам не потрібно вказувати кожну деталь застосунку. Натомість, фреймворк робить припущення на основі стандартів, знижуючи необхідність у явній конфігурації.

pic

3. Не повторюйся (Don’t Repeat Yourself, DRY):

  • Цей принцип заохочує до усунення надмірності в коді. У Ruby on Rails загальні функціональності та шаблони коду абстрагуються в багаторазові компоненти, такі як допоміжні методи (helper methods) та часткові представлення (partial views).

4. Active Record:

  • Active Record — це система об'єктно-реляційного відображення (ORM) у Rails. Вона дозволяє взаємодіяти з базою даних за допомогою коду на Ruby, замість використання SQL. Моделі в Rails зазвичай успадковують від ActiveRecord::Base і представляють таблиці бази даних.

pic

5. RESTful маршрути (RESTful Routes):

  • Rails надає перевагу RESTful маршрутам, які відображають HTTP методи (GET, POST, PUT, DELETE) на дії контролера. Це стандартизування спрощує проєктування та обслуговування веб-застосунків.

pic

6. Шаблони (Scaffolding):

  • Rails надає генератори для створення шаблонів, які можуть автоматично створювати базову MVC структуру для ваших моделей, представлень та контролерів. Це корисно для швидкого прототипування застосунку.

pic

7. Gemfile та Bundler:

  • Gemfile — це конфігураційний файл, в якому вказані залежності (gems) для вашого Rails застосунку. Bundler — це інструмент для управління залежностями gems, що забезпечує встановлення правильних версій.

8. Rails Console:

  • Rails надає потужний командний інтерфейс, який називається Rails Console, що дозволяє взаємодіяти з вашим застосунком та його базою даних через REPL (Read-Eval-Print Loop).

pic

9. Asset Pipeline:

  • Asset Pipeline в Rails управляє та пакує ресурси, такі як стилі (stylesheets) та JavaScript файли. Він включає такі функції, як мінімізація (minification) та відбитки (fingerprinting) для оптимізації доставки ресурсів.

pic

10. Проміжне ПЗ (Middleware):

  • Проміжне ПЗ в Rails складається з ряду фільтрів, які виконуються до та після того, як запит потрапляє в застосунок. Це дозволяє розробникам налаштовувати цикл запит-відповідь.

pic

Це лише кілька основних концепцій Ruby on Rails. Згодом, поглиблюючи знання в розробці на Rails, ви зустрінете додаткові функції та практики, які підвищать ефективність та підтримуваність ваших застосунків.

Перекладено з: Ruby on Rails fundamental concepts

Leave a Reply

Your email address will not be published. Required fields are marked *