Слово «rack» в английском языке имеет множество значений, включая такие, как «пытка» и «разрушение»... Однако, надо полагать, название рассматриваемой библиотеки произошло от другой группы слов: «стойка», «штатив», «каркас» и т.д. Rack обеспечивает простой и в то же время удобный интерфейс, обеспечивающий взаимодействие между веб-сервером иприложением, позволяя программисту сосредоточиться исключительно на логике последнего.
Этот интерфейс достаточно низкоуровневый и не ограничивает разработчика каким-либо заранее заданным способом организации приложения и высокоуровневыми абстракциями. Соответственно он и не предоставляет таких абстракций – это уже дело фреймворков, которые работают поверх него: Rails, Sinatra и других.
Зачем знать Rack?
Практически вся веб-разработка на Ruby использует Rack, как правило, посредством того или иного более высокоуровнего фреймворка. Но это не обязательно, задачи бывают разные: для каких-то те же Rails слишком тяжеловесны, для каких-то слишком «заточены» под определенное использование и структуру программы.
Можно выделить три цели изучения именно Rack как такового:
- Понимание того, что находится у популярных фреймворков «под капотом», чтобы ориентироваться в более-менее сложных случаях, не предусмотренных их создателями.
- Написание небольших веб-приложений для простых задач, когда использование чего-то более тяжелого будет напрасной тратой ресурсов.
- Разработка сложных и необычных веб-приложений, которые не вписываются в идеологию и структуру существующих фреймворков. MVC (Model-View-Controller) – хорошая и проверенная временем концепция, но все же не панацея и не «серебряная пуля».
Как это работает
Для начала установим соответствующий гем:
$ sudo gem install rack
Fetching: rack-1.6.0.gem (100%)
Successfully installed rack-1.6.0
1 gem installed
Установить можно было бы и без sudo, т.е. только для локального пользователя. Но в этом случае мы не сможем использовать предоставляемые гемом исполняемые файлы, без которых обойтись можно, но не хочется.
Статью целиком читайте в журнале «Системный администратор», №5 за 2015 г. на страницах 72-74.
PDF-версию данного номера можно приобрести в нашем магазине.