Ruby on Rails

Продукт
Дата последнего релиза: январь 2012 года

Содержание

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 и выпущен в июле 2004 года. Последней версией является 2.3.8, выпущенная 25 мая 2010 года. 23 декабря 2008 года команда проекта Merb объединилась с командой Rails с целью создания следующей версии Rails 3, которая объединит в себе лучшие черты обоих фреймворков. Новая версия планируется к выпуску в 2010 году. 29 августа 2010 года вышел Rails 3.0.

Интеграция

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, Mac OS X имеется комплексный установщик BitNami RubyStack, включающий в себя все необходимое для разработки в среде Rails, включая Ruby, RubyGems, Ruby on Rails, MySQL, Apache, Mongrel и Subversion.

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

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

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

Ruby on Rails 3.2

Участники проекта Ruby on Rails выпустили в конце 2011 года новую версию фреймворка, ряд особенностей которой нацелен на ускорение создания веб-приложений. Основные усовершенствования Ruby on Rails 3.2 касаются режима разработки. В частности, каждый раз после изменения и тестирования программы при возвращении в режим dev перезагружаются только классы, используемые данной программой. На больших проектах разница в скорости перезагрузки по сравнению с предыдущими версиями весьма ощутима, утверждают авторы.

В механизме ведения журнала операций появилась поддержка тегов, что может быть удобным, когда с приложением работает много пользователей или когда приложение используется для разных задач. Теперь можно фильтровать файлы журналов по тегам, чтобы видеть только активность конкретного приложения или пользователя.

Среди других особенностей - новый способ аннотации запросов к базам данных, обеспечивающий удобство при отладке, и новый механизм маршрутизаци Journey, ускоряющий выполнение запросов от браузера.



ПРОЕКТЫ НА БАЗЕ (10) РЕШЕНИЕ НА БАЗЕ (4) СМ. ТАКЖЕ (11)
ОТРАСЛИ (5)