Описание тега webmachine
Webmachine - это прикладной уровень, который добавляет семантическую осведомленность HTTP поверх превосходного управления битами и управления синтаксисом HTTP, предоставляемого mochiweb, и предоставляет простой и понятный способ связать это с поведением вашего приложения.
Приложение Webmachine - это набор ресурсов, каждый из которых представляет собой набор функций над состоянием ресурса. Мы на самом деле имеем в виду функции, а не объектные методы, бесконечные серверные циклы или любые другие подобные конструкции. Этот аспект Webmachine является одной из причин, почему приложения Webmachine относительно просты для понимания и расширения.
Эти функции предоставляют вам место для определения представлений и других относящихся к сети свойств ресурсов вашего приложения - с акцентом на то, что первоклассные вещи в Интернете являются ресурсами и что их основные свойства взаимодействия уже достаточно хорошо определены и полезны ограничены.
Для большинства приложений Webmachine большинство функций довольно малы и изолированы. Одним из приятных результатов этого является то, что быстрое чтение ресурса даст вам понимание приложения, его поведения в Интернете и отношений между ними. Поскольку эти функции обычно прозрачны по ссылкам, приложения Webmachine можно довольно легко протестировать. Нет необходимости в фиктивных объектах, поддельных соединениях с базой данных или любых других затратах времени, когда вы можете писать тесты для каждого компонента вашего приложения с точки зрения ввода и вывода для различных функций.
Мы считаем, что, предоставляя веб-разработчикам систему с соглашениями, которые напрямую сопоставляются с HTTP и REST, мы помогаем им быстро создавать и расширять веб-приложения, не определяя при этом форму остальных приложений. Получающиеся приложения просты в изучении и обслуживании и имеют очень легко понять семантику HTTP. Он также доступен для ruby как webmachine-ruby.