вагон-ресторан

БОРИС ВОЛЬФСОН

Спецвыпуск: Хакер, номер #073, стр. 073-060-1

BORISVOLFSON@GMAIL.COM HTTP://SPLENDOT.COM

РАССКАЗ О НАБИРАЮЩЕМ ПОПУЛЯРНОСТЬ ВЕБ-ФРЕЙМВОРКЕ RUBY ON RAILS

«СТРЕЛОЙ ГОРЯЩИЙ ПОЕЗД РЕЖЕТ ТЕМНОТУ…», РАНО ИЛИ ПОЗДНО С ГОЛОВОЙ НАКРЫВАЮЩЕЙ ЛЮБОГО ВЕБ-РАЗРАБОТЧИКА, КОТОРОМУ ДОЛГИМИ МЕСЯЦАМИ ПРИХОДИТСЯ КОРПЕТЬ НАД БОЛЬШИМИ ПРОЕКТАМИ. ОН УЖЕ НЕНАВИДИТ БАЗЫ ДАННЫХ, ЯЗЫК РАЗМЕТКИ И ЯЗЫК ПРОГРАММИРОВАНИЯ, НА КОТОРОМ ВЕДЕТСЯ ПРОЕКТ. НО К ТЕБЕ НА ПОМОЩЬ СПЕШИТ ПОИСТИНЕ РЕВОЛЮЦИОННЫЙ ФРЕЙМВОРК (КАРКАС) ДЛЯ РАЗРАБОТКИ ВЕБ-ПРИЛОЖЕНИЙ – RUBY ON RAILS

[японский язык.]

Ты хотел когда-нибудь выучить японский язык? Мне это удалось, причем я не потратил на это много времени – таким языком для меня стал Ruby. Юкихиро Мацумото (Matz) разработал язык программирования, который назвал Ruby, что в переводе с буржуйского означает «Рубин». Название указывает на Perl, который, как известно, «Жемчужина» языков программирования. Но японского «лингвиста» и фаната объектно-ориентированного программирования ни один из существовавших тогда языков не устроил, поэтому он решил создать свой. Подробности можно прочитать во врезке.

[раби встает на рельсы.]

Ruby on Rails – это объектно-ориентированный фреймворк для создания веб-приложений, который позволяет сократить время разработки в десятки раз! Звучит захватывающе, неправда ли? Чтобы понять, за счет чего производительность труда программиста так вырастает, надо начать с архитектуры этого каркаса, которая представляет собой реализацию паттерна программирования MVC (Model – View – Controller, Модель – Представление – Контроллер). Также к плюсам «рельс» можно отнести их бесплатность и наличие исходных кодов в стандартной поставке.

[общие принципы.]

Достаточно написать два-три веб-приложения, и ты начинаешь понимать, что у них много общего. Эти общие части хотелось бы выделить во фреймворк, что и сделали создатели RoR. Поэтому «рельсы» полностью определяют архитектуру приложения. Это достаточно удобно, так как вместо создания архитектуры программист пишет логику программы, которая, безусловно, важнее для конечного пользователя.

[метапрограммирование.]

Нравится мне приставка «мета», она придает словам эдакий загадочный смысл. Метапрограммирование – это создание программ, которые в качестве данных (как входных, так и выходных) используют программы и даже самих себя. В результате работы такого ПО на выходе может получиться другая программа. Аналогичный механизм, схожий с макросами, Раби использует для связи классов и базы данных.

[соглашения вместо конфигурации.]

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

[привет, мир!]

Установку языка программирования и фреймворка я описывать не буду, потому что она представляет собой обычное «Далее… Далее… Готово» с минимальными усилиями. Лучше сразу взять и создать культовую программу.

Для этого в командной строке пишем (Пуск-> Выполнить-> cmd) “rails disks”, предварительно перейдя в папку, где будут храниться наши проекты. Оказывается, «рельсы» – это не только фреймворк, но и набор полезных скриптов, так что после выполнения предыдущей команды у тебя появится папка с необходимой структурой. Зайдем в эту папку и все дальнейшие команды будем производить из нее. Больше всего нас будет интересовать подпапка app. Создадим контроллер для простейшего приложения, воспользовавшись скриптом: “ruby scriptgenerate controller TestRuby”. Он создаст файл controllerstest_ruby_controller.rb. Теперь изменим его содержание на следующее:

Содержание  Вперед на стр. 073-060-2
ttfb: 18.218040466309 ms