Разработка RealTime веб приложений (Никита Грошин, ADD-2011)
Содержание
Аннотация
- Докладчик
- Никита Грошин
- Суть проблемы
- Зачем нужен РеалТайм?
- Где можно и нужно применять подобный подход?
- Клиент сайд
- Как скрестить ежа с ужем или веб браузер как терминал реального времении
- Обзор основных подходов
- Polling, Long poll, iframe, Flash сокеты, HTML5 WebSocket
- Сервер сайд
- Socket соединение как серверный рессурс
- Обзор готовых решений
- Caplin, Liberator, Cometd (Python), ErlyComet, GlassFish , Jetty, Lightstreamer, Meteor, Orbited, Persevere, RMDS2Web Server
- Почему они все унылы?
- Делаем свой сервер node.js + socket.io
- Интерактив
- Тем кто еще не уснул наглядно доказвается приемущество реалтайма на примере интерактивной игры эксперимента
Видео
- Скачать
http://ftp.linux.kiev.ua/pub/conference/peers/addconf/2011/2c2-real-time-web-applications-groshin.avs.avi
Для этого доклада нужен подкаст (аудиозапись)?
Презентация
Примечания и отзывы
Очень позабавил утренний доклад Никиты Грошина с сисечным бинго 8) Отличная идея для утреннего доклада на второй день конференции. Не стала отнимать у остальных возможность выиграть утреннюю банку пива, да и сиськами меня не удивить, свои всегда при мне 8) Правда кроме сисек, пива и упоротых технологий из доклада помню только про необходимость посмотреть на Node.js. Но ведь в этом и была суть доклада, да? ©
Самый неординарный докладчик — толстый, в дредах и пьяный (ну, выпил перед докладом пару пива, а может и всю ночь квасил: он перед приездом искал в твиттере собутыльников). Живет и работает в Таиланде. Стас утверждает, что публично в интернетах предлагал на докладе набить ему морду. Выступал очень живо. В рамках доклада слушателям была предложена игра (boobs bingo): видишь сиськи на слайде — кричи «сиськи», получи банку пива.
Суть доклада — кагбэ ликбез по real-time операциям в web-приложениях. Зачем это нужно — ну понятно, трейдинг всякий. Тока зачем это делать через web? — ну наверно бывает удобно. Есть несколько подходов транспортного уровня — какой выбрать? а чтобы везде поддерживалось? На сервере нужно держать много соединений — есть несколько готовых решений, но они чем-то плохи. В итоге остается socket.io (прозрачно объединяет различные транспортные уровни, сам выбирая подходящий) + node.js (отлично масштабируемое сервер на JavaScript). Чем Никита сам пользуется и другим желает.
Очень харизматичный докладчик, так что успех рассказа был обеспечен. Сама технология: выполнение JS на сервере (к слову о CouchDB, это явно становится трендом). С возможностью в реалтайме обращаться к браузеру клиента. Давно про это слышал, теперь понял как оно работает. Не совсем понятна ниша применения, нужно будет еще почитать.
Пузатый и дредастый докладчик рассказывал про связку socket.io + Node.js. Пришел не к началу, поэтому прикладную задачу не понял.
Веб-разработка это совсем не мое, но теперь буду знать куда смотреть, если потребуется сделать нагруженное веб-приложения.
На клиенте:
- socket.io, js-библиотека, которая сама умеет выбирать транспорт для эффективных запросов
На сервере
- Node.js (серверный JavaScript)
Что умеет:
- Скорость (исполняется на движке google V8)
- Модульность (есть коннекторы к многим NoSQL базам, например)
- Closures
- Неблокирующий ввод-вывод
- Доказанная надежность (по уверению докладчика)
Как альтернатива:
- JBoss Netty (Java)
- Erly Comet (Erlang)
- Tornado (Python)
- Coffee Script (код в стиле руби компилируется в JavaScript), вместе с Node.js
Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».
Репликация: База Знаний «Заказных Информ Систем» → «Разработка RealTime веб приложений (Никита Грошин, ADD-2011)»