app en tiempo real con html5+node.js+socket.io

Post on 13-Jun-2015

2.929 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentación de mi charla de app en tiemp real con Node.js y Socket.IO en el #BarCampNea

TRANSCRIPT

HTML5 – Node.js – Socket.io

Aplicaciones Web en tiempo real

¿Qué es una aplicación web en tiempo real?

• http://www.lightstreamer.com/demo/StockListDemo/

Comunicación bidireccional entre el servidor y los usuarios

aa b

b

Servidor Web

1 Antecedentes

Limitaciones de la Web actual

Pull (Así funciona la Web)Servidor Web

Petición

Navegador Web

Respuesta

Push (Lo que necesitamos)Servidor WebNavegador Web

DatosEvento

Desde hace algunos años existen soluciones pero son poco eficientes…

Servidor Web

Ajax (Polling)

peticiónrespuesta

petición

respuesta

petición

respuesta

• Script de prueba para Apache 2.2 con PHP 5.3

<?phpsleep(3);echo «hola mundo»;?>

Simulamos con un script, una petición que toma3 segundos en ejecutarse.

0

1

2

3

4

5

6

7

8

9

10

apache 2.2

Los servidores web tienen un número limitado de procesos…

Comportamiento de Apache 2.2 con 1000 peticiones, 100 de ellas concurrentes

Peticiones

Servidores tipo Comet

Misma infraestructura, diferente filosofía

2

Con los servidores tipo Comet nos acercamos mucho más a la solución ideal…

Servidor tipo Comet

Long pollingpetición

respuesta

petición

respuesta

petición

Algunos servidores Comet / Websockets…

Python Java .Net Ruby Javascript

TornadoTwisted…

CometdProtcoloBayeux

GlassFishActiveMQ…

WebSync Protocolo Bayeux

Thin/Faye protocolo Bayeux

Node.js*Es posible ejecutarlo en Windows Azure

Open Source Open Source Comercial Open Source Open Source

Acerca de Node.js

• Basado en el motor Javascript Google V8

• Todas las operaciones son asíncronas

• Uno de los servidores más rápidos del mercado

• Altamente eficiente• Ideal para la creación de

aplicaciones en tiempo real

En Node.js todas las operaciones son asíncronas. No usa procesos…

Comportamiento de Node.js con 1000 peticiones, 100 de ellas concurrentes

0

1

2

3

4

5

6

7

8

9

10

Node

Series2

Peticiones

Tiempo (s)

WebSockets con HTML5

En el futuro y presente

3

Con el API de WebSockets se crea un canal bidirecional…

Servidor con soporte paraWebSockets

respuesta

respuesta

inicio

Ejemplos con Node.js y Socket.io

El futuro

Desde un chat simple, hasta startups innovadoreshttp://www.dymotics.com/

4

Walter Gerez@wgerezSkype: walter.gerezFace: wgerez

Gracias

top related