Дата последнего релиза: | январь 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 году.Метавселенная ВДНХ
Интеграция
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, ускоряющий выполнение запросов от браузера.
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Бипиум (Bpium) (10)
Другие (387)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
IFellow (АйФэлл) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
КРИТ (KRIT) (2)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (589, 302)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Форсайт (1, 3)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Сбербанк (1, 2)
Другие (9, 9)
Солар (ранее Ростелеком-Солар) (1, 6)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Мобильные ТелеСистемы (МТС) (1, 4)
РЖД-Технологии (1, 3)
Другие (14, 24)
Мобильные ТелеСистемы (МТС) (2, 3)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Effective Technologies (Эффектив Технолоджис) (1, 1)
Другие (11, 11)
Распределение систем по количеству проектов, не включая партнерские решения
Solar appScreener (ранее Solar inCode) - 48
Hyperledger Fabric - 23
Windows Azure - 20
FIS Platform - 15
Форсайт. Мобильная платформа (ранее HyperHive) - 12
Другие 322
Solar appScreener (ранее Solar inCode) - 8
FIS Platform - 4
Siemens Xcelerator - 2
Парадокс: MES Builder - 2
Турбо X - 2
Другие 22
Solar appScreener (ранее Solar inCode) - 11
BSS Digital2Go - 3
Форсайт. Мобильная платформа (ранее HyperHive) - 3
Cloud ML Space - 2
Nexign Microservices Framework - 1
Другие 8