Преимущества » По пунктам

По пунктам Ruby on Rails

Сначала необходимо отметить, что Ruby on Rails — весьма необычный инструмент, предназначенный для разработки веб-приложений 2-го поколения. Основан он на языке Ruby, вы наверняка о таком уже слышали, а кто-то, может, применяет его в своей работе, и весьма успешно. Но бывают и такие пользователи, для которых Ruby — это обычное слово. И это вполне понятно, поскольку в море разнообразных разработок какие-то остаются нами не замеченными.
    Ruby — язык программирования,он простой но достаточно мощный. На официальном сайте данного языка разработчики пишут, что Ruby — язык программирования с аккуратно настроенным балансом. Создателем этого языка является Yukihiro Matsumoto, «matz». Как пишут и говорят критики и эксперты, Matsumoto смешал в Ruby наиболее интересные элементы любимых языков программирования таких, как Smalltalk, Perl, Lisp, Eiffel и Ada.     Целью создания нового языка было получение такого языка,который совмещал в себе императивное и функциональное программирование. Сам же Matsumoto о своем творении сказал, что пытался сделать Ruby естественным, однако не простым; что внешне Ruby прост, однако внутри — очень комплексным, как тело человека.

Особенности Ruby on Rail
Как правило выделяют такие особенности языка программирования Ruby on Rail:
+    расширяемость основных возможностей. Ruby очень старается не ставить никаких ограничений для разработчика. Например, базовый класс Numeric для сложения имеет оператор ォ+サ, однако всегда можно добавить собственный (например, plus);
+    все является объектом. Все данные в Ruby могут иметь свои свойства (properties) и действия (actions), т.е. мы можно присвоить любому числу или другому примитиву какие-то методы;
+    еxception handling. Точно так же, как и другие популярные языки (например, JavaScript или Python), у Ruby on Rail тоже есть встроенная поддержка exception handling,она предназначена для удобства работы с ошибками.
+    ruby on Rail не зависит от платформы. Он запускается на любой компьютерной системе, включая MS-DOS и дает возможность, не зависимо от того, поддерживает эту опцию система или нет, использовать multithreading.
    Ruby on Rail — достаточно мощный и очень амбициозный и инструмент, который применяют многие разработчики (кстати, и desktop-приложений тоже). Например, им часто пользуются в качестве внутреннего скриптового языка при создании комплексных приложений.
    Ruby on Rails — web-среда, которая написана на языке Ruby и использует его в качестве фундамента. Не так часто мы сталкиваемся с термином веб-среда; чаще нам встречается слова framework, web-платформа, web-технология и библиотека. Соответственно, Ruby on Rails не относится ни к чему из выше перечисленного. Что называют — web-средой? Ответ прост — она похожа на систему поддержки, но реализована на более низком уровне, нежели библиотека со вспомогательным кодом. Например, обычный запрос SQL. Инструмент Ruby on Rails включает в себя достаточно мощную библиотеку под названием ActiveRecord, которая взаимодействует с базами данных, она, уменьшая объем кода финального приложения, берет на себя всю рутину.
    Ruby on Rails в себя включает заранее заготовленный функционал для решения задачдля web-специалистов. Означает это, что скорость разработки заметно возрастает чуть ли не в 10 раз в сравнении с работой с нуля (это утверждают на официальном сайте Ruby on Rails). В качестве весомого аргумента предлагается посмотреть ролик, в котором благодаря Ruby on Rails полноценный блог делается всего за 15 минут.

Хостинг
    Для Ruby on Rails подойдет не каждый хостинг. Вам потребуется:
+    при использовании FastCGI необходима возможность перестартовки FastCGI-процессов;
+    нужна поддержка mod_ruby или FastCGI (CGI-интерфейс не рекомендуется из-за потерь в быстродействии);
+    отличный вариант — предоставление хостинг-провайдером для клиента персонального web-сервера с возможностью прокси;
+    провайдер хостинга должен постоянно обновлять пакет Ruby и gem;
+    идеальный вариант — Ruby on Rails должен работать на сервере Mongrel и проксироваться и nginx или Apache.