Ruby on Rails: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Немає опису редагування
Рядок 1: Рядок 1:
{{Infobox software
'''Ruby on Rails''' — [[Об'єктно-орієнтоване програмування|об'єктно-орієнтований]] програмний каркас (''framework'') для створення [[Веб-застосунок|веб-додатків]], написаний на [[мова програмування|мові програмування]] [[Ruby]]. '''Ruby on Rails''' надає каркас [[модель-вид-контролер]] ([[Model-View-Controller]]) для веб-додатків, а також забезпечує їх інтеграцію з [[веб-сервер]]ом і [[сервер]]ом [[база даних|бази даних]].
| name = Ruby on Rails
| logo = [[File:Ruby on Rails.svg|150px]]
| screenshot =
| caption =
| author = [[David Heinemeier Hansson]]
| developer = [http://www.rubyonrails.org/core Rails Core Team]
| discontinued =
| latest release version = 4.0.0
| latest release date = {{release date|2013|06|25}}<ref>[http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/ Rails 4.0: Final version released!]</ref>
| latest preview version =
| latest preview date =
| status = активний
| operating system = [[крос-платформовий]]
| platform =
| language =
| programming language = [[Ruby]]
| genre = [[програмний каркас]] [[веб-застосунок|веб-застосунків]]
| license = [[ліцензія MIT|MIT]]
| website = {{URL|http://rubyonrails.org}}
}}
'''Ruby on Rails'''&nbsp;— [[Об'єктно-орієнтоване програмування|об'єктно-орієнтований]] [[програмний каркас]] (''фреймворк'') для створення [[Веб-застосунок|веб-застосунків]], написаний на [[мова програмування|мові програмування]] [[Ruby]]. '''Ruby on Rails''' надає каркас [[модель-вид-контролер]] ([[Model-View-Controller]]) для веб-застосунків, а також забезпечує їхню інтеграцію з [[веб-сервер]]ом і [[сервер]]ом [[система керування базою даних|бази даних]].


Ruby on Rails є [[відкрите програмне забезпечення|відкритим програмним забезпеченням]] і розповсюджується за [[Ліцензія MIT|ліцензією MIT]].
Ruby on Rails є [[відкрите програмне забезпечення|відкритим програмним забезпеченням]] і розповсюджується за [[Ліцензія MIT|ліцензією MIT]].

Версія за 06:48, 28 червня 2013

Ruby on Rails
Файл:Ruby on Rails.svg
Типпрограмний каркас веб-застосунків
АвторDavid Heinemeier Hansson
РозробникRails Core Team
Стабільний випуск4.0.0 (25 червня 2013; 11 років тому (2013-06-25)[1])
Операційна системакрос-платформовий
Мова програмуванняRuby
Стан розробкиактивний
ЛіцензіяMIT
Репозиторійgithub.com/rails/rails
Вебсайтrubyonrails.org

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 року. Останньою версією є 3.1, випущена 31 серпня 2011 року.

Архітектура

Основними компонентами застосунків 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.

Проекти написані на RoR

Посилання

Документи

Спілкування

  1. Rails 4.0: Final version released!