Ruby on Rails — об'єктно-орієнтований програмний каркас (фреймворк) для створення вебзастосунків, написаний на мові програмування Ruby. Ruby on Rails надає каркас модель-вид-контролер (Model-View-Controller) для вебзастосунків, а також забезпечує їхню інтеграцію з вебсервером і сервером бази даних.
Тип | програмний каркас вебзастосунків |
---|---|
Автор | |
Розробник | Rails Core Team |
Операційна система | крос-платформовий |
Мова програмування | Ruby |
Стан розробки | активний |
Ліцензія | MIT |
Репозиторій | github.com/rails/rails |
Вебсайт | rubyonrails.org |
|
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 вебсервер або
Як сервер бази даних підтримуються MySQL, Firebird, PostgreSQL, IBM DB2, Oracle і Microsoft SQL Server. Також підтримується вбудована база даних SQLite.
Проекти написані на RoR
Виноски
Посилання
- Сайт проекту Ruby On Rails (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Ruby on Rails ob yektno oriyentovanij programnij karkas frejmvork dlya stvorennya vebzastosunkiv napisanij na movi programuvannya Ruby Ruby on Rails nadaye karkas model vid kontroler Model View Controller dlya vebzastosunkiv a takozh zabezpechuye yihnyu integraciyu z vebserverom i serverom bazi danih Ruby on RailsTipprogramnij karkas vebzastosunkivAvtorRozrobnikRails Core TeamOperacijna sistemakros platformovijMova programuvannyaRubyStan rozrobkiaktivnijLicenziyaMITRepozitorijgithub com rails railsVebsajtrubyonrails org Mediafajli u Vikishovishi Ruby on Rails buv stvorenij Devidom Gajnemayer Genssonom angl David Heinemeier Hansson na osnovi jogo roboti nad zasobom keruvannya proektami Basecamp i buv vipushenij v lipni 2004 roku Ruby on Rails ye vidkritim programnim zabezpechennyam i rozpovsyudzhuyetsya za licenziyeyu MIT PrincipiRuby on Rails viznachaye principi rozrobki zastosunkiv Zastosunki ne povinni viznachati vlasnu arhitekturu oskilki voni vikoristovuyut gotovij karkas model vid kontroler Mova Ruby dozvolyaye vikoristovuvati notaciyu sho legko chitayetsya dlya viznachennya semantiki vebzastosunkiv takih yak vidnosini mizh tablicyami v bazi danih Ruby on Rails nadaye mehanizmi povtornogo vikoristannya sho dozvolyayut minimizuvati dublyuvannya kodu u vebzastosunku princip Don t Repeat Yourself ne povtoryuj sebe Za zamovchuvannyam vikoristovuyutsya ugodi po konfiguraciyi tipovi dlya bilshosti vebzastosunkiv princip Convention over configuration ugodi nad konfiguraciyeyu Yavna specifikaciya konfiguraciyi potribna tilki v nestandartnih vipadkah ArhitekturaOsnovnimi komponentami zastosunkiv Ruby on Rails ye model model vid view i kontroler controller Model Model nadaye reshti komponentiv programi ob yektno oriyentovane predstavlennya danih takih yak katalog produktiv abo spisok zamovlen Ob yekti modeli zdijsnyuyut zavantazhennya i zberezhennya danih v relyacijnij bazi danih Zavdyaki mozhlivostyam dinamichnoyi tipizaciyi v movi Ruby rozrobnikovi dosit uspadkuvati svij klas modeli vid bazovogo klasu ActiveRecord Base Ruby on Rails avtomatichno pov yazuye klasi modeli z tablicyami v bazi danih i stvoryuye atributi ob yektiv dlya vidpovidnih poliv tablici Vid Vid stvoryuye interfejs koristuvacha dlya vidobrazhennya otrimanih vid kontrolera danih Vid takozh peredaye zapiti koristuvacha na manipulyaciyu danimi v kontroler yak pravilo vid ne zminyuye bezposeredno dani z modeli U Ruby on Rails vid opisuyetsya za dopomogoyu shabloniv RHTML Voni ye fajlami HTML z dodatkovimi vklyuchennyami fragmentiv kodu Ruby Embedded Ruby abo ERb Vivid zgenerovanij vbudovanim kodom Ruby vklyuchayetsya v tekst shablonu storinki HTML yaka pislya cogo povertayetsya koristuvachevi Vidi mozhut vikoristovuvati fragmenti inshih vidiv i u svoyu chergu buti vklyuchenimi v shablon layout vishogo rivnya Kontroler Kontroler osnovnij komponent sho vidpovidaye za vzayemodiyu z koristuvachem Kontroler prochituye neobhidni dani z modeli i gotuye yih dlya vidobrazhennya a takozh zberigaye otrimani vid vidobrazhennya dani v modeli Kontrolerom v Ruby on Rails ye klas uspadkovanij vid ActionController Base Vidkriti metodi kontrolera ye tak zvanimi diyami actions Action chasto vidpovidaye okremomu vidovi Napriklad po zapitu koristuvacha admin list bude viklikanij metod list klasu AdminController i potim vikoristanij vid list rhtml IntegraciyaRuby on Rails mozhe pracyuvati z Apache Lighttpd abo bud yakim inshim vebserverom sho pidtrimuye FastCGI Dlya rozrobki i znevadzhennya chasto vikoristovuyetsya vbudovanij v Ruby vebserver abo Yak server bazi danih pidtrimuyutsya MySQL Firebird PostgreSQL IBM DB2 Oracle i Microsoft SQL Server Takozh pidtrimuyetsya vbudovana baza danih SQLite Proekti napisani na RoRRedmine Twitter GitHubVinoskiPosilannyaSajt proektu Ruby On Rails angl