РИТ++ 2017 завершён!

Клиенту и серверу нужно поговоритьПриложения

Доклад принят в программу конференции
Никита Прокопов

Более 13 лет занимается системами автоматизации, веб-интерфейсами и веб-сервисами, распределенными системами и высокими нагрузками на Java, Python, Erlang и Clojure. Ведет блоги tonsky.me и grumpy.website, выступает на конференциях, в свободное время занимается опенсорсом. Автор библиотеки https://github.com/tonsky/datascript и шрифта Fira Code.

Тезисы

Любое веб-приложение шлет и получает данные с сервера. Это общение — сложная многомерная проблема с большим количеством условий, требований, компромиссов. Красота запрос-ответной модели в её простоте, но и только: сделать корректную и устойчивую передачу данных очень, очень сложно.

Более современная версия — server push, SSE, веб-сокеты — лучше, но всё еще на очень низком уровне абстракции. Это биты и байты, ассемблер распределенных систем. Однако давно хочется делать это и проще, и надежнее, и качественно лучше.

В этом докладе мы поднимемся на следующий уровень абстракции и посмотрим, как можно делать клиент-серверную коммуникацию нового поколения: расширенные модели данных, высокоуровневые API, логи событий и т.д. Мы рассмотрим сложные сценарии, проблемы, как их можно решать и какие для этого есть инструменты. Ключевые слова: event sourcing, операционные трансформации, CRDT, Meteor, Apollo, PouchDB, Firebase, Relay, Swarm.js, Logux.

Single page application, толстый клиент
,
Архитектура данных, потоки данных, версионирование
,
Синхронизация данных, параллельная обработка, CDN
,
Offline-приложения
,
Взаимодействие с серверной стороной (REST, GraphQL, gRPC)

Другие доклады секции Приложения