Любое веб-приложение шлёт запросы на сервер и получает ответы от него. Это общение — сложная многомерная проблема с большим количеством условий, требований и компромиссов.
Красота запрос-ответной модели в простоте, но и только. Сделать корректную и устойчивую передачу данных очень и очень сложно. Более современные варианты: HTTP/2 Server Push, Server-Sent Events, WebSocket — лучше, но всё еще на очень низком уровне абстракции. Это биты и байты, ассемблер распределенных систем. Однако давно хочется делать это проще, надежнее и качественно лучше.
В этом докладе мы поднимемся на следующий уровень абстракции и посмотрим, как можно сделать клиент-серверную коммуникацию нового поколения: расширенные модели данных, высокоуровневые API, логи событий и т.д. Мы рассмотрим сложные сценарии, проблемы, как их можно решать и какие для этого есть инструменты.
Ключевые слова: Event Sourcing, операционные трансформации, CRDT, Meteor, Apollo, PouchDB, Firebase, Relay, Swarm.js, Logux.
Презентация доклада:
Запись выступления:
Презентация доклада: