domingo, 19 de agosto de 2012

SockJS Websockets HTML5

Los WebSocket es una tecnología nueva que a salido con el estándar html5, pero todavía va a faltar un poco de tiempo para que todos los navegadores la soporten.

Mientras tanto existen una buena cantidad de proyectos(socket.io, node.js, etc) que permiten trabajar con websockets tanto en navegadores nuevos, como en los antiguos sustituyéndolo por otra tecnología en estos navegadores. Pero todos las librerías por lo general hacen algún truco para poder hacerlo funcionar en navegadores antiguos.


Es por eso que nació un nuevo proyecto: SockJS - otra biblioteca de emulación WebSocket, pero esta vez se hace bien.

Filosofía de SockJS

  • La Api debe seguir los lineamientos de la API de HTML5 Websockets lo más fielmente posible
  • No Flash del lado del cliente solamente javascript.
  • Bien Documentado y con balanceo de cargas.
  • El transporte debe soportar la comunicación a través de dominios.
  • La conexión debe ser rápida y ligera.
  • Además, el código del lado del servidor debe ser simple, con el fin de reducir el costo de escribir servidores para diferentes idiomas.
  • Debe soportar al menos un protocolo de Streaming por cada navegador grande.

Lo Bueno

Lo Bueno de esta librería es que es ligera, fácil de entender y trabajar, se adapta a los estándares, trabaja con balanceo de cargas y además no usa Flash ni nada por el estilo. Además ya cuenta con las librerías para montar los servidores en python, nodejs y java, próximamente en otros lenguajes.

Lo Malo.

No posee soporte para navegadores antiguos, que otros proyectos si lo hacen. por ejemplo Socket.IO soporta Internet Explorer 5.5+, Safari 3+, Google Chrome 4+, Firefox 3+, Opera 10.61+. SockJS soporta aquí ven la descripción detallada.

Conclusión.

SockJS es una librería bastante nueva  y todavía le queda mucho por hacer, pero que tiene una buena forma de trabajar, y unos excelentes tiempos de ejecución. Aquí hay un análisis de rendimiento donde se compara Socket.IO vs SockJS de pythonanywhere. Es una librería útil en el caso de que queramos desarrollar una aplicación donde el rango de navegadores es limitado, por ejemplo una intranet para una empresa, o una pagina para un grupo muy especifico.

Twitter de SockJS

Si necesitas la asesoria de una empresa para el desarrollo de aplicaciones con este tipo de tecnologia.

No hay comentarios:

Publicar un comentario