Socket.io es un framework que posibilita la ejecución en tiempo real de eventos del lado del cliente. Guillermo Rauch (@rauchg) es de Buenos Aires, Argentina radicado en San Francisco y es el cofundador de LearnBoost. Es el creador de esta librería y ahora y finalmente nos trae la versión 1.0 de socket.io, proyecto que surge luego de una de las primeras apariciones de Node.JS.
Nuevo motor con engine.io
El código base de socket.io ya no se encargará de manejar problemas con el browser e incompatibilidades. Estas tareas estarán a cargo de un nuevo módulo llamado engine.io. Con esta implementación, ahora el código es más ligero y modular.Esto ha permitido innovar y hacer mejoras en la capa de transporte.
Soporte a datos binarios
Ya es posible el envío de datos binarios. Socket.io ahora permite enviar un Buffer desde Node.js, Blob, ArrayBuffer e inclusive File como parte de cualquier estructura de datos.Estas nuevas características se pueden testear con weplay.io, un juego colaborativo que inclusive funciona en IE8 o.O.
Testeos automáticos
Cada cambio al socket.io fue testeado a un total de 25 navegadores, incluyendo Android e iOS.Escalabilidad
Ahora en vez de aculumar o replicar datos en nodos, socket.io sólo se preocupa de pasar eventos.Integración
Se aclara el panorama para los que utilizan multilenguajes en sus desarrollos. El proyecto socket.io-emitter permite fácilmente enviar eventos al navegador desde cualquier lugar.Mejoras en debugg
Aumentaron la forma en la que se realiza el debugg. Ahora es posible hacer debugg desde el lado del frontend.APIs simplificadas
Ahora es muy simple implementar socket.io. Puedes conectarlo a un servidor HTTP o lo puedes cargar directamente en un puerto de tu servidor.Código :
var srv = require('http').Server(); var io = require('socket.io')(srv); var io = require('socket.io')(8080);
Red de envío de mensajes
Si bien socket.io posibilita la emisión de mensajes en tiempo real, en sí mismo es un servidor. Para implementar el servidor solo necesitas agregar un línea de código:Código :
<script src="/socket.io/socket.io.js"></script>
¿Qué esperar de socket.io?
En la versión 2.0 nos prometen tener soporte para navegadores web más antiguos, con un código base más pequeño y rápido que no solo sea utilizado para emisión de objetos JSON.
Muchas de las innovaciones a socket.io serán por fuera de su código base. Con sólo integrar una librería podrás expandir la funcionalidad del mismo.
Guillermo Rauch con socket.io ha realizado un gran aporte a la comunidad de JavaScript. Esperemos que el proyecto siga creciendo!
Aviso oficial de la versión 1.0
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por ytfreak el 30 de Mayo de 2014
Por enricorr el 25 de Junio de 2014