Реактивные технологии
Реактивностью называют особый тип отзывчивости веб-сайтов: в то время как вы меняете у себя какие-либо данные, эти данные обновляются сразу же (без перезагрузки) в браузерах у всех, кто их может видеть в данный момент. Такие сайты называют веб-приложениями. Например, для веб-приложений для совместной работы это очень удобно. Одним из таких — Wekan — мы пользуемся в повседневной работе, и выглядит это вот так.
Каждый раз когда-то кто-то вносит изменение на «доске» с «карточками» — они мгновенно отображаются у всех, кто эти изменения может увидеть.
Как это достигается
Если глубоко не вдаваться в подробности, всё работает на основе событийной модели (каждое изменение — событие), а транспортом выступают так называемые веб-сокеты. Веб-сокеты - это постоянно открытые соединения между браузером (или, например, мобильным приложением) и сервером (сайтом, серверным приложением). Они-то и позволяют отправлять данные в обе стороны в любой момент времени.
А реактивная коммерция?
В качестве примера, рассмотрим открытое решение для электронной коммерции на базе Meteor (javascript-фреймворк) под названием Reaction.
Давайте сначала развернем его, для этого
1. Удостоверьтесь, что у вас установлены последние версии npm и node.js,
2. Выполните на локальной машине команды (может занять время, около 10 минут):
npm install -g reaction-cli
reaction init
cd reaction
reaction
Это запустит по адресу localhost:3000 локальную версию «пустого» интернет-магазина. Выглядит это вот таким образом:
Почему эта коммерция — реактивная?
Во-первых, сам Meteor — «из коробки» поддерживает реактивность. В случае же reaction это означает что по нажатию кнопки «опубликовать» (которая нужна для версионирования контента), и контент обновится во всех браузерах без перезагрузки страницы. Reaction — полностью реактивный, а это означает что например те же остатки будут обновляться в реальном времени.
Заключение
Возможности реактивных веб-приложений на этом не исчерпываются, но, пожалуй, об этом мы расскажем еще позже.