• English
  • Русский
  • Українська
Need a Ruby on Rails developer? Contact Us.

Розробка на Ruby on Rails

Розробка на Ruby on Rails

Ruby on Rails — RoR)-фреймворк, написаний на мові програмування Ruby, реалізує архітектурний шаблон Model-View-Controller для веб-додатків, а також забезпечує їх інтеграцію з веб-сервером і сервером баз даних. Є відкритим програмним забезпеченням і поширюється під ліцензією MIT.

Створений Давидом Хейнемейером Ханссоном на основі його роботи в компанії 37signals над засобом управління проектами Basecamp і випущений в липні 2004 року. 23 грудня 2008 року команда проекту Merb об’єдналася з командою Rails з метою створення наступної версії Rails 3, яка об’єднає в собі кращі риси обох фреймворків.

Базується на наступних принципах розробки додатків:

максимальне використання механізмів повторного використання, що дозволяють мінімізувати дублювання коду в додатках (принцип Don’t repeat yourself);
за замовчуванням використовуються угоди по конфігурації, типові для більшості додатків — принцип Convention over configuration) – явна специфікація конфігурації потрібно тільки в нестандартних випадках.

Архітектура

Схематичне представлення архітектури модель-представлення-контролер з додатковими компонентами
Основними компонентами додатків на Ruby on Rails є модель (англ. model), представлення (англ. view) і контролер (англ. controller). Ruby on Rails використовує rest-стиль побудови веб-додатків.

Модель надає іншим компонентам програми об’єктно-орієнтоване відображення даних (таких як каталог Продуктів або список замовлень). Об’єкти моделі можуть здійснювати завантаження і збереження даних в реляційній базі даних, а також реалізують бізнес-логіку.

Для зберігання об’єктів моделі в реляційній СУБД за замовчуванням в Rails 3 використана бібліотека ActiveRecord. Конкуруючий аналог-DataMapper. Існують плагіни для роботи з нереляційними базами даних, наприклад Mongoid для роботи з MongoDB.

Представлення створює користувальницький інтерфейс з використанням отриманих від контролера даних. Подання також передає запити користувача на маніпуляцію даними в контролер (як правило, подання не змінює безпосередньо модель).

У Ruby on Rails представлення описується за допомогою шаблонів ERB – файлів HTML з додатковими включеннями фрагментів коду Ruby (Embedded Ruby, або ERb). Висновок, згенерований вбудованим кодом Ruby, включається в текст шаблону, після чого вийшла сторінка HTML повертається користувачеві. Крім ERB можливо використовувати ще близько 20 шаблонізаторів, в тому числі Haml.

Контролер в Rails-це набір логіки, що запускається після отримання HTTP-запиту сервером. Контролер відповідає за виклик методів моделі і запускає формування уявлення.

Відповідність інтернет-адреси з дією контролера (маршрут) задається у файлі config/routes.rb.

Контролером в Ruby on Rails є клас, успадкований від ActionController::Base для класичних додатків і ActionController:: API для API[4]. Відкриті методи контролера є так званими діями (англ. actions). Дії часто відповідає окремому поданню. Наприклад, за запитом користувача admin / index буде викликаний метод index класу AdminController і потім використано представлення index.html.erb з каталогу views / admin.

Етапи співпраці

У вас є ідея
У вас є ідея
Якщо у вас є ідея щодо створення бізнесу в Інтернеті, приходьте до нас. Наші менеджери уважно вислухають і зрозуміють, що і як потрібно робити для досягнення мети
Пропонуємо варіанти реалізації
Пропонуємо варіанти реалізації
На підставі вашої ідеї і нашого досвіду, ми пропонуємо Вам можливі варіанти реалізації вашого проекту
Підбираємо розробників
Підбираємо розробників
Після затвердження варіанту проекту, ми підбираємо всіх необхідних розробників для його реалізації
Створюємо поетапний проект реалізації
Створюємо поетапний проект реалізації
Створюємо поетапний план реалізації вашого проекту. Плануємо час, розподіляємо ролі учасників проекту. Найчастіше використовується система управління проектами Redmine
Розробляти
Розробляти
Після затвердження плану реалізації проекту, наші розробники приступають до його реалізації
Управляємо процесом розробки
Управляємо процесом розробки
Ваш проектний менеджер керує реалізацією вашого проекту на кожному його етапі. Контролює час виконання завдань, якість, управляє ризиками, звітує вам
Тестувати
Тестувати
На кожному етапі реалізації тестуємо ваш проект на працездатність з боку користувачів і адміністраторів
Віддаємо на прокерку
Віддаємо на прокерку
Після того як наші тестери виконали фінального тестування вашого проекту, ми передаємо проект вам
Підтримувати
Підтримувати
Після завершення проекту ми залишаємося на зв'язку, завжди допоможемо поліпшити ваш проект, доопрацювати і підтримати його