Ruby on Rails
Матеріал з Вікіпедії — вільної енциклопедії.
Ruby on Rails — об'єктно-орієнтований програмний каркас для створення веб-додатків, написаний на мові програмування Ruby. Ruby on Rails надає каркас модель-представлення-контроллер (Model-View-Controller) для веб-додатків, а також забезпечує їх інтеграцію з веб-сервером і сервером бази даних.
Ruby on Rails є відкритим програмним забезпеченням і розповсюджується під ліцензією MIT.
Зміст |
[ред.] Принципи
Ruby on Rails визначає наступні принципи розробки додатків:
- Додатки не повинні визначати власну архітектуру, оскільки вони використовують готовий каркас модель-представлення-контроллер.
- Мова Ruby дозволяє використовувати нотацію, що легко читається, для визначення семантики додатків (таких як відносини між таблицями в базі даних).
- Ruby on Rails надає механізми повторного використання, що дозволяють мінімізувати дублювання коду в додатках (принцип Don’t Repeat Yourself).
- За замовчуванням використовуються угоди по конфігурації, типові для більшості додатків (принцип Convention over configuration). Явна специфікація конфігурації потрібна тільки в нестандартних випадках.
[ред.] Історія
Ruby on Rails був створений Девідом Хейнемєєр Ханссоном (англ. David Heinemeier Hansson) на основі його роботи над засобом управління проектами Basecamp і був випущений в липні 2004 року. Останньою версією є 1.1.6, випущена 10 серпня 2006 року.)
[ред.] Архітектура
Основними компонентами додатків Ruby on Rails є модель (model), представлення (view) і контроллер (controller).
[ред.] Модель
Модель надає решті компонентів додатку об'єктно-орієнтоване представлення даних (таких як каталог продуктів або список замовлень). Об'єкти моделі здійснюють завантаження і збереження даних в реляційній базі даних, а також реалізують бізнес-логіку.
Завдяки можливостям динамічної типізації в мові Ruby розробникові досить успадковувати свій клас моделі від базового класу ActiveRecord::Base. Ruby on Rails автоматично пов'язує класи моделі з таблицями в базі даних і створює атрибути об'єктів для відповідних полів таблиці.
[ред.] Представлення
Представлення створює призначений для користувача інтерфейс для відображення отриманих від контроллера даних. Представлення також передає запити користувача на маніпуляцію даними в контроллер (як правило, представлення не змінює безпосередньо модель).
У Ruby on Rails представлення описується за допомогою шаблонів RHTML. Вони є файлами HTML з додатковими включеннями фрагментів коду Ruby (Embedded Ruby або ERb). Вивід, що згенерував вбудованим кодом Ruby, включається в текст шаблону, сторінка HTML, що після чого вийшла, повертається користувачеві. Представлення можуть використовувати фрагменти інших представлення і, у свою чергу, бути включеними в шаблон (layout) більш високого рівня.
[ред.] Контролер
Контролер — основний компонент, що відповідає за взаємодію з користувачем. Контроллер прочитує необхідні дані з моделі і готує їх для відображення, а також зберігає отримані від відображення дані в моделі.
Контролером в Ruby on Rails є клас, успадкований від ActionController::Base. Відкриті методи контроллера є так званими діями (actions). Action часто відповідає окремому представленню. Наприклад, по запиту користувача admin/list буде викликаний метод list класу AdminController і потім використано представлення list.rhtml.
[ред.] Інтеграція
Ruby on Rails може працювати з Apache, Lighttpd або будь-яким іншим веб-сервером, що підтримує FastCGI. Для розробки і відладки часто використовується вбудований в Ruby веб-сервер WEBrick або Mongrel
У якості сервера бази даних підтримуються MySQL, Firebird, PostgreSQL, SQLite, IBM DB2, Oracle і Microsoft SQL Server. Також підтримується вбудована база даних SQLite.
![]() |
Це незавершена стаття про комп'ютери. Ви можете допомогти проекту, виправивши або дописавши її. |