JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"
-
Upload
geekslab-odessa -
Category
Software
-
view
209 -
download
0
Transcript of JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"
![Page 1: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/1.jpg)
RethinkDB + Socket.ioReal-time Web 2.0
![Page 2: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/2.jpg)
Привет!Меня зовут Андрей КопёнкинЯ CTO во FlyElephant.
Занимаюсь fullstack разработкой на JavaScript.
![Page 3: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/3.jpg)
Начнем с предисторииЧто? О чем? И как?
1
![Page 4: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/4.jpg)
World Wide Web◇ CERN httpd и простая передача HTML (1990-1995)
◇ Рождение PHP и первый Server-Side Scripting (1995)
◇ Бум SPA, рождение клиентских фреймворков(2009-наст.)
◇ Бум документоориентированных баз данных. Рождение MongoDB, Node.js (2009-наст.)
◇ WebSockets RFC 6455 (2011)
◇ Конец...?
![Page 5: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/5.jpg)
![Page 6: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/6.jpg)
Real-Time Database
![Page 7: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/7.jpg)
Что это означает?
База данных сама пушит вам новые данные и изменения!
![Page 8: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/8.jpg)
RethinkDB - распределенная БД
![Page 9: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/9.jpg)
Для чего RethinkDB хороша?
◇ Совместное web и mobile приложение
◇ Стриминговая аналитика
◇ Мультиплеерные игры
◇ Real-time marketplace
![Page 10: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/10.jpg)
Есть же realtime sync api типа Firebase и т. п.
Зачем же нужен RethinkDB?
![Page 11: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/11.jpg)
1. RethinkDB - Open-source продукт
2. Realtime sync api дает не такой богатый язык запросов
3. Realtime sync api - в основном разворачивается в браузере. RethinkDB - как обычная база данных может быть установлена везде
![Page 12: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/12.jpg)
ReQL - язык запросов RethinkDB
◇ Нативно встраивается в код на том языке, на котором вы пишите свое приложение.
◇ Каждый запрос состоит из цепочки функций, составленной разработчиком
![Page 13: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/13.jpg)
Как выглядит запрос?
![Page 14: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/14.jpg)
Changefeed запрос
![Page 15: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/15.jpg)
Official drivers◇ JavaScript
◇ Java
◇ Python
◇ Ruby
![Page 16: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/16.jpg)
3REE stack
React + Redux +RethinkDB + Express
![Page 17: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/17.jpg)
November 2015RethinkDB 2.0
Production-ready release
![Page 18: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/18.jpg)
Live Demo
![Page 19: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/19.jpg)
Real-time Web 2.0
![Page 20: JS Lab`16. Андрей Копенкин: "RethinkDB + Socket.io. Real-time web 2.0"](https://reader030.fdocuments.net/reader030/viewer/2022032711/58eeea191a28abec5e8b4629/html5/thumbnails/20.jpg)
Thanks!Вопросы?Контакты◇ [email protected]◇ https://www.facebook.com/andrew.kopyonkin