Ruby on Rails

Ruby on Rails
Ruby on Rails
Ruby on Rails logo.jpg
Rails default index.png
страница по умолчанию
Тип

фреймворк для разработки веб приложений

Разработчик

Rails Core Team

Написана на

Ruby

Интерфейс

веб-интерфейс

Операционная система

кроссплатформенное программное обеспечение

Последняя версия

3.2.9 (12 ноября 2012)

Тестовая версия

4.0.0.beta (20 декабря 2011)

Состояние

активное

Лицензия

Лицензия MIT

Сайт

rubyonrails.org

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

Ruby on Rails является открытым программным обеспечением и распространяется под лицензией MIT.

Содержание

Принципы

Ruby on Rails определяет следующие принципы разработки приложений:

  • Ruby on Rails предоставляет механизмы повторного использования, позволяющие минимизировать дублирование кода в приложениях (принцип Don’t repeat yourself).
  • По умолчанию используются соглашения по конфигурации, типичные для большинства приложений (принцип Convention over configuration). Явная спецификация конфигурации требуется только в нестандартных случаях.

История

Ruby on Rails был создан Давидом Хейнемейером Ханссоном на основе его работы в компании 37signals над средством управления проектами Basecamp[1] и выпущен в июле 2004 года.

25 мая 2010 года выпущена версия 2.3.8.

23 декабря 2008 года команда проекта Merb объединилась с командой Rails с целью создания следующей версии Rails 3, которая объединит в себе лучшие черты обоих фреймворков.[2][3]

29 августа 2010 года вышел Rails 3.0.[4]

31 августа 2011 года вышел Rails 3.1.[5]

20 января 2012 года вышел Rails 3.2.[6]

Архитектура

Схематическое представление архитектуры модель-представление-контроллер

Основными компонентами приложений Ruby on Rails являются модель (model), представление (view) и контроллер (controller).

Модель

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

Для хранения объектов модели в реляционной СУБД по умолчанию в Rails 3 использована библиотека ActiveRecord. Конкурирующий аналог — DataMapper.

Представление

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

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

Контроллер

Контроллер в Rails — это набор логики, запускаемой после получения HTTP-запроса сервером. Контроллер отвечает за вызов методов модели и запускает формирование представления.

Контроллером в Ruby on Rails является класс, наследованный от ActionController::Base. Открытые методы контроллера являются так называемыми действиями (actions). Action часто соответствует отдельному представлению. Например, по запросу пользователя admin/list будет вызван метод list класса AdminController и затем использовано представление list.html.erb.

Интеграция

Предпочтительным методом интеграции с веб-серверами является проксирование — использование веб-сервера в качестве прокси-сервера перед сервером приложения. Особняком стоят модули Phusion Passenger для интеграции с серверами Apache и nginx.

Ruby on Rails использует интерфейс RACK, что позволяет использовать менее распространённые механизмы (FCGI, CGI, SCGI). Ruby on Rails может работать с Apache, Lighttpd или любым другим веб-сервером, поддерживающим FastCGI. Для разработки и отладки часто используется веб-сервер WEBrick, встроенный в Ruby, или Mongrel.[7] В качестве сервера базы данных поддерживаются MySQL, Firebird, PostgreSQL, DB2, Oracle и Microsoft SQL Server. Также поддерживается встраиваемая база данных SQLite.

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

Помимо этого сайты BitNami.org и JumpBox.com[9] бесплатно предлагают образы VMware с готовой Linux-средой для развертывания RoR-приложений. Эти образы можно подключить к своему серверу виртуальных машин или развернуть в предлагаемой облачной среде.

Для разработки AJAX-приложений в RoR по умолчанию используется javascript-фреймворк jQuery, однако вместо него можно использовать и другие библиотеки. В ранних версиях Ruby on Rails (до 3.1), js-фреймворком по умолчанию был Prototype.

Реализации

JBoss предлагает открытую платформу Torquebox[10] для развертывания Rails-приложений, предлагающую функции планировщика задач, очереди сообщений, SOAP и даже управление SIP-сессиями.

Плагины

  • ActiveScaffold — популярная альтернатива стандартному «scaffold», с использованием AJAX.[11]
  • CommunityEngine — плагин-шаблон для быстрого создания полноценной социальной сети.[12]

Редакторы и IDE

Сайты на Rails

Популярные сайты на Rails:

Примечания

Литература

  • Тейт Б., Хиббс К. Ruby on Rails. Быстрая веб-разработка. — СПб.: BHV-Петербург, 2008. — 224 с.
  • Хэнссон Д. Х., Томас Д. Гибкая разработка веб-приложений в среде Rails. — СПб.: Питер, 2008. — 720 с.
  • Фоулер Ч. Rails. Сборник рецептов. — СПб.: Питер, 2007. — 256 с.
  • Фернандес О. Путь Rails. Подробное руководство по созданию приложений в среде Ruby on Rails. — Символ-Плюс, 2008. — 768 с.
  • Руби С., Томас Д., Хэнссон Д. Х. Гибкая разработка веб-приложений в среде Rails. — 4-е изд. — Питер, 2012. — 464 с.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Ruby on Rails" в других словарях:

  • Ruby On Rails — Page d accueil par …   Wikipédia en Français

  • Ruby on rails — Page d accueil par …   Wikipédia en Français

  • Ruby on Rails — Captura de Rails …   Wikipedia Español

  • Ruby on Rails — RoR Standard …   Deutsch Wikipedia

  • Ruby on Rails — Page d accueil par défaut …   Wikipédia en Français

  • Ruby On Rails — RoR Standard Seite …   Deutsch Wikipedia

  • Ruby on Rails — Infobox Software name = Ruby on Rails caption = The Rails Application Default Page author = developer = [http://www.rubyonrails.org/core Rails Core Team] released = latest release version = 2.1.1 latest release date = release date|2008|09|04… …   Wikipedia

  • Ruby+on+rails — …   Википедия

  • Ruby on rails — …   Википедия

  • Rails — Ruby on Rails RoR Standard Seite …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»