Ruby on Rails: відмінності між версіями
[перевірена версія] | [очікує на перевірку] |
→Вид: посилання |
Немає опису редагування |
||
(Не показані 8 проміжних версій 6 користувачів) | |||
Рядок 7: | Рядок 7: | ||
| developer = [http://www.rubyonrails.org/core Rails Core Team] |
| developer = [http://www.rubyonrails.org/core Rails Core Team] |
||
| discontinued = |
| discontinued = |
||
| latest release version = 5.2.1 |
|||
| latest release date = {{release date|2018|08|7}} |
|||
| latest preview version = |
| latest preview version = |
||
| latest preview date = |
| latest preview date = |
||
Рядок 16: | Рядок 14: | ||
| language = |
| language = |
||
| programming language = [[Ruby]] |
| programming language = [[Ruby]] |
||
| genre = [[програмний каркас]] [[ |
| genre = [[програмний каркас]] [[вебзастосунок|вебзастосунків]] |
||
| license = [[ліцензія MIT|MIT]] |
| license = [[ліцензія MIT|MIT]] |
||
| website = {{URL|http://rubyonrails.org}} |
| website = {{URL|http://rubyonrails.org}} |
||
}} |
}} |
||
'''Ruby on Rails''' — [[Об'єктно-орієнтоване програмування|об'єктно-орієнтований]] [[Каркас |
'''Ruby on Rails''' — [[Об'єктно-орієнтоване програмування|об'єктно-орієнтований]] [[Каркас вебзастосунків|програмний каркас]] (''фреймворк'') для створення [[Вебзастосунок|вебзастосунків]], написаний на [[мова програмування|мові програмування]] [[Ruby]]. '''Ruby on Rails''' надає каркас [[модель-вид-контролер]] ([[Model-View-Controller]]) для вебзастосунків, а також забезпечує їхню інтеграцію з [[вебсервер]]ом і [[сервер]]ом [[система керування базою даних|бази даних]]. |
||
Ruby on Rails був створений Девідом Гайнемаєр Генссоном ({{lang-en|David Heinemeier Hansson}}) на основі його роботи над засобом керування |
Ruby on Rails був створений Девідом Гайнемаєр Генссоном ({{lang-en|David Heinemeier Hansson}}) на основі його роботи над засобом керування проєктами [[Basecamp]] і був випущений в липні [[2004]] року. Ruby on Rails є [[відкрите програмне забезпечення|відкритим програмним забезпеченням]] і розповсюджується за [[Ліцензія MIT|ліцензією MIT]]. |
||
== Принципи == |
== Принципи == |
||
'''Ruby on Rails''' визначає принципи розробки [[застосунок|застосунків]]: |
'''Ruby on Rails''' визначає принципи розробки [[застосунок|застосунків]]: |
||
* [[Застосунки]] не повинні визначати власну архітектуру, оскільки вони використовують готовий каркас ''[[модель-вид-контролер]].'' |
* [[Застосунки]] не повинні визначати власну архітектуру, оскільки вони використовують готовий каркас ''[[модель-вид-контролер]].'' |
||
* Мова Ruby дозволяє використовувати нотацію, що легко читається, для визначення семантики |
* Мова Ruby дозволяє використовувати нотацію, що легко читається, для визначення семантики вебзастосунків (таких як відносини між таблицями в базі даних). |
||
* Ruby on Rails надає механізми повторного використання, що дозволяють мінімізувати дублювання коду у |
* Ruby on Rails надає механізми повторного використання, що дозволяють мінімізувати дублювання коду у вебзастосунку (принцип [[DRY|Don't Repeat Yourself]] — не повторюй себе). |
||
* За замовчуванням використовуються угоди по конфігурації, типові для більшості |
* За замовчуванням використовуються угоди по конфігурації, типові для більшості вебзастосунків (принцип [[Convention over configuration]] — угоди над конфігурацією). Явна специфікація конфігурації потрібна тільки в нестандартних випадках. |
||
== Архітектура == |
== Архітектура == |
||
Рядок 50: | Рядок 48: | ||
== Інтеграція == |
== Інтеграція == |
||
Ruby on Rails може працювати з [[Apache]], [[Lighttpd]] або будь-яким іншим [[ |
Ruby on Rails може працювати з [[Apache]], [[Lighttpd]] або будь-яким іншим [[вебсервер]]ом, що підтримує [[FastCGI]]. Для [[Розробка програмного забезпечення|розробки]] і [[зневадження]] часто використовується вбудований в Ruby вебсервер [[WEBrick]] або [[Mongrel]] |
||
Як сервер бази даних підтримуються [[MySQL]], [[Firebird]], [[PostgreSQL]], IBM [[DB2]], [[Oracle Database|Oracle]] і [[Microsoft SQL Server]]. Також підтримується вбудована база даних [[SQLite]]. |
Як сервер бази даних підтримуються [[MySQL]], [[Firebird]], [[PostgreSQL]], IBM [[DB2]], [[Oracle Database|Oracle]] і [[Microsoft SQL Server]]. Також підтримується вбудована база даних [[SQLite]]. |
||
== |
== Проєкти написані на RoR == |
||
* [[Redmine]] |
* [[Redmine]] |
||
* [[Twitter]] |
* [[Twitter]] |
||
Рядок 63: | Рядок 61: | ||
== Посилання == |
== Посилання == |
||
* [http://www.rubyonrails. |
* [http://www.rubyonrails.org Сайт проєкту Ruby On Rails] {{ref-en}} |
||
* [http://www.rubyonrails.org Сайт проекту Ruby On Rails (англ.)] |
|||
* [https://web.archive.org/web/20070714223459/http://agilewebdevelopment.com/plugins База даних плагінів для Ruby on Rails (англ.)] |
|||
*[https://www.rainbowbridge.co/ Rainbow Bridge] |
|||
=== Документи === |
|||
* [https://archive.is/20070517233550/http://www.meshplex.org/wiki/Ruby/Ruby_on_Rails_programming_tutorials Full Ruby on Rails Tutorial] |
|||
=== Форуми === |
|||
* [http://railsua.com/ RailsUA — Все про Ruby on Rails] |
|||
* [http://dev.webit.in.ua/ Веб-розробка - Блог про Ruby on Rails та Ruby] |
|||
{{Ruby}} |
{{Ruby}} |
||
{{Прикладні інструментарії}} |
{{Прикладні інструментарії}} |
||
[[Категорія: |
[[Категорія:Вебпрограмування]] |
||
[[Категорія:Програмні каркаси]] |
[[Категорія:Програмні каркаси]] |
||
[[Категорія:CMF]] |
[[Категорія:CMF]] |
Поточна версія на 12:02, 24 липня 2024
Тип | програмний каркас вебзастосунків |
---|---|
Автор | 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 (англ.)