Ruby on Rails

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск
Ruby on Rails
Файл:Ruby on Rails logo.jpg
Страница по умолчанию
Тип Фреймворк для разработки веб приложений
Разработчик Rails Core Team
Написана на Ruby
ОС Кроссплатформенное программное обеспечение
Версия 2.3.5 (30 ноября 2009)
Тестовая версия 3.0 Beta[1] (5 февраля 2010)
Лицензия Лицензия MIT
Сайт rubyonrails.org

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

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

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

Содержание

Принципы

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

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

История

Ruby on Rails был создан Дэвидом Хейнемеером Ханссоном на основе его работы над средством управления проектами Basecamp[2] и выпущен в июле 2004 года. Последней версией является 2.3.5, выпущенная 30 ноября 2009 года.

Архитектура

Основными компонентами приложений 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.html.erb.

Интеграция

Ruby on Rails может работать с Apache, Lighttpd или любым другим веб-сервером, поддерживающим FastCGI. Для разработки и отладки часто используется встроенный в Ruby веб-сервер WEBrick или Mongrel[3]. С помощью плагина в Rails реализована поддержка сетевого протокола WebDAV.[4]

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

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

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

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

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

Плагины

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

IDE

  • NetBeans IDE
  • Aptana RadRails
  • CodeGear 3rdRail
  • IntelliJ IDEA (с использованием Ruby plug-in)
  • Ruby in Steel (для Visual Studio) — версия 1.2 включает возможность визуального drag’n’drop проектирования UI, транслируя .erb-код в HTML и обратно.
  • Flux 1.2 для пользователей Mac OS имеет поддержку Rails.
  • RubyMine — среда разработки, оптимизированная для Rails-разработчиков.
  • Eclipse

Примечания

См. также

Литература

Ссылки

Веб-сервисы

  • 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 хостинг-провайдер
af:Ruby on Rails

ar:روبي على قضبان bg:Ruby on Rails ca:Ruby on Rails cs:Ruby on Rails da:Ruby on Rails de:Ruby on Rails en:Ruby on Rails eo:Ruby on Rails es:Ruby on Rails eu:Ruby on Rails fa:روبی آن ریلز fi:Ruby on Rails fr:Ruby on Rails gl:Ruby on Rails he:Ruby on Rails hu:Ruby on Rails it:Ruby on Rails ja:Ruby on Rails ko:루비 온 레일즈 ms:Ruby on Rails nl:Ruby on Rails no:Ruby on Rails pl:Ruby on Rails pt:Ruby on Rails sv:Ruby on Rails th:รูบีออนเรลส์ tr:Ruby on Rails uk:Ruby on Rails zh:Ruby on Rails zh-yue:Ruby on Rails

Источник — «http://www.sbup.com/wiki/Ruby_on_Rails»
Личные инструменты

Served in 0.416 secs.