Hace ya tiempo que no creaba una entrada, pero decidí volver a darle un poquito de énfasis a mi blog, y de paso explicar un poco de las tecnologías que estoy utilizando hoy en día.
En esta entrada haremos una breve introducción a websockets, para luego crear una serie de entradas a modo "manual" del usuario de websockets.
Con el avance de internet y la web 2.0 el protocolo http se mantuvo vigente, sin embargo surgieron tareas nuevas, que fueron servidas por un lenguaje backend como es PHP por ejemplo, o ASP, en medio de cada petición HTTP, antes que el servidor devuelva un resultado, el mismo hace una peticion al interprete encargado de procesar los códigos para poder resolver las tareas necesarias, como gestión de usuarios, productos y distintas cosas que hay en las web 2.0, entonces los lenguajes como PHP se hicieron fuertes.
Pero con las nuevas necesidades de la web, cada dia es más evidente que se comienza a necesitar de un estado, de algo más parecido a una aplicación de escritorio que se mantenga en el tiempo, para resolver ciertos temas, y para trabajar de mejor manera, puesto que hacer peticiones procesar, generar un resultado y finalizar el programa y hacerlo cada vez que el usuario presiona un botón u algo, resulta un poco absurdo.
La respuesta a esto fueron los websockets, una tecnología que da soporte a la metodología de trabajo Cliente-Servidor, donde nosotros en cualquier lenguaje podemos crear un servidor y del lado del navegador un cliente en javascript que por medio de sockets se conecte y mantenga conectado a un servidor.
Desde que salió, poca gente utiliza esta tecnología tan prometedora, uno de ellos es el whatsapp web, que implementa websockets para conectar el chat y enviar los mensajes y recibir respuestas por parte del servidor en "tiempo real".
Los sockets conectan el cliente con el servidor y luego permiten enviar y recibir mensajes.
Hace aproximadamente un año, llevo desarrollando una librería que permita a los programadores de PHP hacer uso de websockets de forma simple y flexible, para lo cual se implementa POO y una orientación a eventos.
Dejo aquí el repo de PHPSocketMaster
Dejo aquí el repo de PHPSocketServer (Es una librería que requiere SocketMaster y sirve para crear de forma rápida un miniservidor para conectar multiples sockets)
Dejo aquí el repo de un juego de pocker estilo pockerstars en el que estraba trabajando con sockets.
Un saludo cordial! y espero les haya gustado mi nueva entrada!
Soy amante de la programación, me gusta ver y crear cosas nuevas... Me gusta el metal, rock, y también daftpunk jajaja