See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Ruby on Rails — Википедия

Ruby on Rails

Материал из Википедии — свободной энциклопедии

Ruby on Rails
Страница по умолчанию
Тип Фреймворк для разработки веб приложений
Разработчик Rails Core Team
ОС Кроссплатформенное программное обеспечение
Лицензия Лицензия MIT
Сайт rubyonrails.org

Ruby on Rails — объектно-ориентированный программный каркас для создания веб-приложений, написанный на языке программирования Ruby. Ruby on Rails предоставляет каркас модель-представление-контроллер (Model-View-Controller) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.

Предоставляет однородную среду для разработки динамических AJAX-интерфейсов, с обработкой запросов и выдачи данных в контроллерах, отражения предметной области в базе данных.

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 года. Последней версией является 2.1, выпущенная 31 мая 2008 года.

[править] Архитектура

Основными компонентами приложений 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. С помощью плагина в Rails реализована поддержка сетевого протокола WebDAV.

В качестве сервера базы данных поддерживаются MySQL, Firebird, PostgreSQL, IBM DB2, Oracle и Microsoft SQL Server. Также поддерживается встраиваемая база данных SQLite.

Для Windows существует дистрибутив Instant Rails c настроенной и готовой к работе сразу после установки рабочей средой для разработки Rails-приложений, которая включает в себя сервер Apache и СУБД MySQL. Для платформ Windows, Linux, MacOS X имеется комплексный установщик BitNami RubyStack, включающий в себя все необходимое для разработки в среде Rails, включая Ruby, RubyGems, Ruby on Rails, MySQL, Apache, Mongrel и Subversion.

Для разработки Ajax-приложений RoR поставляется с интегрированными JavaScript-библиотеками Prototype и Script.aculo.us, но также можно использовать и jQuery.

[править] Ссылки

[править] Литература

[править] Документы

[править] Общение

[править] IDE с поддержкой RoR

[править] Веб-сервисы

  • IBM Sharable Code — онлайн сервис для создания Web 2.0 приложений и Web API «mashups» на основе Ruby on Rails
  • Heroku — онлайн IDE для создания и редактирования проектов Ruby on Rails. Для размещения приложений использует не традиционный хостинг, а распределенную среду Amazon Elastic Compute Cloud (Amazon EC2).
  • Engine Yard — глобальный специализирующийся на Ruby on Rails хостинг-провайдер

[править] Сайты на RoR


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -