Ruby on Rails: відмінності між версіями
[неперевірена версія] | [перевірена версія] |
MobyVan (обговорення | внесок) м →Інтеграція: replaced: У якості → Як за допомогою AWB |
|||
Рядок 52: | Рядок 52: | ||
Ruby on Rails може працювати з [[Apache]], [[Lighttpd]] або будь-яким іншим [[веб-сервер]]ом, що підтримує [[FastCGI]]. Для [[Розробка програмного забезпечення|розробки]] і [[зневадження]] часто використовується вбудований в Ruby веб-сервер [[WEBrick]] або [[Mongrel]] |
Ruby on Rails може працювати з [[Apache]], [[Lighttpd]] або будь-яким іншим [[веб-сервер]]ом, що підтримує [[FastCGI]]. Для [[Розробка програмного забезпечення|розробки]] і [[зневадження]] часто використовується вбудований в Ruby веб-сервер [[WEBrick]] або [[Mongrel]] |
||
Як сервер бази даних підтримуються [[MySQL]], [[Firebird]], [[PostgreSQL]], IBM [[DB2]], [[Oracle Database|Oracle]] і [[Microsoft SQL Server]]. Також підтримується вбудована база даних [[SQLite]]. |
|||
== Проекти написані на RoR == |
== Проекти написані на RoR == |
Версія за 13:50, 2 вересня 2016
Тип | програмний каркас веб-застосунків |
---|---|
Автор | David Heinemeier Hansson |
Розробник | Rails Core Team |
Стабільний випуск | 4.2 (19 грудня 2014 ) |
Операційна система | крос-платформовий |
Мова програмування | Ruby |
Стан розробки | активний |
Ліцензія | MIT |
Репозиторій | github.com/rails/rails |
Вебсайт | rubyonrails.org |
Ruby on Rails — об'єктно-орієнтований програмний каркас (фреймворк) для створення веб-додатків, написаний на мові програмування Ruby. Ruby on Rails надає каркас модель-вид-контролер (Model-View-Controller) для веб-додатків, а також забезпечує їхню інтеграцію з веб-сервером і сервером бази даних.
Ruby on Rails був створений Девідом Гайнемаєр Генссоном (англ. David Heinemeier Hansson) на основі його роботи над засобом керування проектами Basecamp і був випущений в липні 2004 року. Ruby on Rails є відкритим програмним забезпеченням і розповсюджується за ліцензією MIT.
Принципи
Ruby on Rails визначає принципи розробки застосунків:
- Застосунки не повинні визначати власну архітектуру, оскільки вони використовують готовий каркас модель-вид-контролер.
- Мова Ruby дозволяє використовувати нотацію, що легко читається, для визначення семантики веб-застосунків (таких як відносини між таблицями в базі даних).
- Ruby on Rails надає механізми повторного використання, що дозволяють мінімізувати дублювання коду у веб-застосунку (принцип Don't Repeat Yourself — не повторюй себе).
- За замовчуванням використовуються угоди по конфігурації, типові для більшості веб-застосунків (принцип Convention over configuration — угоди над конфігурацією). Явна специфікація конфігурації потрібна тільки в нестандартних випадках.
Архітектура
Основними компонентами застосунків 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, IBM DB2, Oracle і Microsoft SQL Server. Також підтримується вбудована база даних SQLite.
Проекти написані на RoR
Виноски
Посилання
- Російськомовний сайт Ruby On Rails
- Агрегатор російськомовних блогів по Ruby On Rails
- Російський вікі по Ruby on Rails — документація, поради, приклади
- Сайт проекту Ruby On Rails (англ.)
- База даних плагінів для Ruby on Rails (англ.)