Современный веб становится интерактивнее. Сейчас практически все браузеры поддерживают такую технологию как WebSocket, но современные веб-фремймоворки, такие как Django, Yii или RubyOnRails, не поддерживают работу с ними. Я расскажу, как мы сделали наши приложения интерактивным с использованием Erlang. А также что такое Erlang. Для чего он нужен.
2. 1
ЧТО НУЖНО ЗНАТЬ
О WEB-ПРИЛОЖЕНИЯХ
Это клиент-сервеное приложение
работающее по протоколу HTTP
Схема работы не подходят
для создания приложений реального времени
8. 7
ПОПУЛЯРНЫЕ ВЕБ-ФРЕЙМОРКИ
К ЭТОМУ НЕ ГОТОВЫ
Оптимизированы для работы
по схеме запрос-ответ
Не готовы обрабатывать потоки данных
Не готовы обрабатывать пул WebSocket
соединений
9. 8
КАК ЖЕ БЫТЬ ?
Переписать все на
специализированных
фреймворках, например,
N₂O или meteor.js
Это долго и очень дорого
10. 9
А МОЖЕТ КАК-ТО
ПО СТАРИНКЕ?
«Давайте возьмем и напишем часть
нашего приложения, отвечающую за реалтайм
в виде отдельного модуля!
А все остальное оставим без изменения.»
12. 11
ЧТО ТАКОЕ
ERLANG?
Создан в 1980-х годах компанией Ericsson
и использовался в телекоммуникационном
оборудовании.
В 1998 году вышел в open source
и стал набирать популярность.
16. 15
ЧТО БУДЕМ
ИСПОЛЬЗОВАТЬ?
DJANGO — основной Web фреймворк
TASTYPIE — приложение для создания REST
ANGULARJS — фронтенд
REDIS — Publish/Subscribe очередь сообщений
COWBOY — обработчик WebSocket соединении
20. 20
ПОЧЕМУ БЫ
НЕ ПОЙТИ ДАЛЬШЕ?
Добавим RPC вызовы через RabbitMQ
Добавим возможность подписываться
на канал во время RPC вызовов.
Оформим в виде отдельной библиотеки:
https://github.com/ir4y/asteroid