“名企力量 闪耀龙江”网络媒体龙江名企行
![]() | |
Тип | програмний каркас вебзастосунк?в |
---|---|
Автор | David Heinemeier Hansson |
Розробник | Rails Core Team |
Операц?йна система | крос-платформовий |
Мова програмування | 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.
- Сайт про?кту Ruby On Rails (англ.)