JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"

Preview:

Citation preview

RethinkDB + Socket.ioReal-time Web 2.0

Привет!Меня зовут Андрей КопёнкинЯ CTO во FlyElephant.

Занимаюсь fullstack разработкой на JavaScript.

Начнем с предисторииЧто? О чем? И как?

1

World Wide Web◇ CERN httpd и простая передача HTML (1990-1995)

◇ Рождение PHP и первый Server-Side Scripting (1995)

◇ Бум SPA, рождение клиентских фреймворков(2009-наст.)

◇ Бум документоориентированных баз данных. Рождение MongoDB, Node.js (2009-наст.)

◇ WebSockets RFC 6455 (2011)

◇ Конец...?

Real-Time Database

Что это означает?

База данных сама пушит вам новые данные и изменения!

RethinkDB - распределенная БД

Для чего RethinkDB хороша?

◇ Совместное web и mobile приложение

◇ Стриминговая аналитика

◇ Мультиплеерные игры

◇ Real-time marketplace

Есть же realtime sync api типа Firebase и т. п.

Зачем же нужен RethinkDB?

1. RethinkDB - Open-source продукт

2. Realtime sync api дает не такой богатый язык запросов

3. Realtime sync api - в основном разворачивается в браузере. RethinkDB - как обычная база данных может быть установлена везде

ReQL - язык запросов RethinkDB

◇ Нативно встраивается в код на том языке, на котором вы пишите свое приложение.

◇ Каждый запрос состоит из цепочки функций, составленной разработчиком

Как выглядит запрос?

Changefeed запрос

Official drivers◇ JavaScript

◇ Java

◇ Python

◇ Ruby

3REE stack

React + Redux +RethinkDB + Express

November 2015RethinkDB 2.0

Production-ready release

Live Demo

Real-time Web 2.0

Thanks!Вопросы?Контакты◇ andreyk729@gmail.com◇ https://www.facebook.com/andrew.kopyonkin