¿Cuál es la mejor manera de construir una aplicación de mensajería en tiempo real usando PHP para construir el backend?

Puede consultar algunos de estos recursos para construir mensajes en tiempo real usando PHP. Si está buscando construir su propia API en tiempo real, puede buscar en la infraestructura API en tiempo real (como Fanout / Pushpin) o, si solo desea mensajes, puede buscar en la infraestructura de aplicaciones en tiempo real (como Pubnub, Firebase) .


Bibliotecas PHP en tiempo real

La biblioteca PHP oficial de PushRadar, que envuelve la API de PushRadar – PushRadar es un servicio de API de notificaciones en tiempo real para la web. El servicio utiliza un modelo simple de publicación-suscripción, que le permite transmitir “notificaciones” en “canales” a los que están suscritos uno o más clientes. Las notificaciones se envían en tiempo real a esos clientes.

Depurador de registro en tiempo real: depurador de registro en tiempo real simple y ligero a través de Websocket con Nodejs, SocketIO y Restful API para alimentar el registro (PHP, Python …)

Este proyecto llave en mano se distribuye como un middleware para exponer datos RATP en tiempo real como recursos REST. Este proyecto llave en mano se distribuye como un middleware para exponer datos RATP como recursos REST. Puede recuperar horarios en tiempo real para cualquier parada de RER (tren), metro, tranvía, autobús o Noctilien en tiempo real.

Un contenedor de API PHP para ORTC: es un cliente no oficial para ORTC (Open Real-Time Connectivity, marco de pub / sub basado en la nube y en tiempo real de realtime.cofor PHP 5.4+), pero potente, basado en el compositor y compatible con psr-1 , psr-2 y psr-4.

Un útil script PHP para proporcionar un resultado JSON fácil de usar para los datos en tiempo real del autobús de Tainan: con esta API, puede obtener la posición en tiempo real de todos los autobuses en Tainan


Aplicaciones web en tiempo real con PHP y Ratchet

Especificaciones

  • Autor: Smart Gamma
  • Fecha: junio de 2016

Recursos

  • Aplicaciones web en tiempo real con PHP y Ratchet

Sinopsis

Esta publicación es un conjunto de enfoques y reglas que SmartGamma usa para crear aplicaciones web en tiempo real. Nuestras soluciones en tiempo real se basan principalmente en artículos y recomendaciones de Phil Leggetter, un evangelista y consultor web en tiempo real. Sus artículos nos dan una comprensión muy clara de las tecnologías web en tiempo real que podemos usar para crear aplicaciones en tiempo real.


Trinquete

Especificaciones

  • Websockets para PHP

Recursos

  • Socketo

Sinopsis

Ratchet es una biblioteca PHP poco acoplada que proporciona a los desarrolladores herramientas para crear aplicaciones bidireccionales en tiempo real entre clientes y servidores a través de WebSockets. Este no es el Internet de tu abuelo.


Notificaciones en tiempo real con PHP

Especificaciones

  • Autor: Gonzalo Ayuso
  • Fecha: marzo de 2011

Recursos

  • Notificaciones en tiempo real con PHP

Sinopsis

Normalmente, cuando hablamos de comunicaciones en tiempo real, todas las personas piensan en una aplicación de chat. Quiero construir una aplicación más simple. Un deseo de detectar cuando alguien hace clic en un enlace. Por eso necesitaré una combinación de HTML, PHP y JavaScript. Empecemos:

Para el ejemplo, usaré la biblioteca jquery, por lo que debemos incluir la biblioteca en nuestro archivo HTML. Será una combinación de JavaScript y PHP.

Este artículo ofrece una buena introducción para crear aplicaciones en tiempo real con PHP y WebSockets: phpbuilder.

También hay una tonelada de otros recursos en Realtime Hub que proporcionan enlaces agradables a formas en que otros desarrolladores de PHP han creado aplicaciones en tiempo real:

Aplicaciones web en tiempo real con PHP y Ratchet

Especificaciones

  • Autor: Smart Gamma
  • Fecha: junio de 2016

Recursos

  • Aplicaciones web en tiempo real con PHP y Ratchet

Sinopsis

Esta publicación es un conjunto de enfoques y reglas que SmartGamma usa para crear aplicaciones web en tiempo real. Nuestras soluciones en tiempo real se basan principalmente en artículos y recomendaciones de Phil Leggetter, un evangelista y consultor web en tiempo real. Sus artículos nos dan una comprensión muy clara de las tecnologías web en tiempo real que podemos usar para crear aplicaciones en tiempo real.


Trinquete

Especificaciones

  • Websockets para PHP

Recursos

  • Socketo

Sinopsis

Ratchet es una biblioteca PHP poco acoplada que proporciona a los desarrolladores herramientas para crear aplicaciones bidireccionales en tiempo real entre clientes y servidores a través de WebSockets. Este no es el Internet de tu abuelo.


Notificaciones en tiempo real con PHP

Especificaciones

  • Autor: Gonzalo Ayuso
  • Fecha: marzo de 2011

Recursos

  • Notificaciones en tiempo real con PHP

Sinopsis

Normalmente, cuando hablamos de comunicaciones en tiempo real, todas las personas piensan en una aplicación de chat. Quiero construir una aplicación más simple. Un deseo de detectar cuando alguien hace clic en un enlace. Por eso necesitaré una combinación de HTML, PHP y JavaScript. Empecemos:

Para el ejemplo, usaré la biblioteca jquery, por lo que debemos incluir la biblioteca en nuestro archivo HTML. Será una combinación de JavaScript y PHP.

Recomiendo construir su aplicación como una aplicación que no sea en tiempo real primero, y luego superponer la capacidad en tiempo real en la parte superior después. Por ejemplo, podría comenzar creando una API REST que pueda cargar el historial de mensajes desde la base de datos, agregar mensajes a la base de datos, etc., y luego hacer que sus clientes usen esta API para mostrar y enviar mensajes. Puedes hacer todo este trabajo inicial usando PHP tradicional. Básicamente lo haces para que toda la aplicación funcione, excepto que el usuario tiene que actualizar para ver nuevos mensajes. Luego, puede agregar actualizaciones en tiempo real utilizando un componente separado.

Hay un par de razones para hacerlo de esta manera:

  1. Los sistemas push en tiempo real casi universalmente no pueden garantizar la entrega. Las mejores aplicaciones tienen una forma de sincronizarse mediante solicitud / respuesta, y es bueno pasar tiempo haciendo esto correctamente antes de agregar las partes complicadas en tiempo real.
  2. Puedes escribir el 90% de la aplicación sin tener que olvidar todo lo que has conocido, solo porque algunas cosas necesitan actualizarse en tiempo real.

En cuanto a cómo aplicar capas en las actualizaciones en tiempo real, además de lo que otros han dicho, hay servicios en la nube que pueden ayudar, como Fanout (descargo de responsabilidad: trabajo allí).

He implementado algunas variaciones (agrupación larga, xmpp, etc.) y descubrí que este combo es el mejor.
– servidor de chat central basado en node.js y socket.io.
– front-end basado en php / mysql y backend con Mysql para hacer el manejo de la relación.

aunque es posible que deba encontrar una forma segura de apretón de manos entre el servidor de nodos y la pila de Lamp.
Espero que esto ayude.

antes de decidirse definitivamente por usar PHP, consideraría seriamente soluciones como Meteor ( https://www.meteor.com ) o Node.js ( https://nodejs.org ) si aún no lo ha hecho. Sospecho que serán mucho más adecuados para su aplicación.

si es así, ignórame. 🙂

PHP es la elección incorrecta aquí.

Usaría Firebase porque te permite hacer todo lo que requieras sin un back-end. Firebase está perfectamente diseñado para crear una aplicación de chat en tiempo real.

Trinquete – PHP WebSockets

Utiliza el trinquete. Como han señalado otras personas, la transmisión en tiempo real es lo que debe hacer NodeJs. Además, con herramientas como Browsify, puede usar el mismo código en el frontend que en el backend, lo cual es bastante ingenioso.

Si está configurado para usar PHP, eche un vistazo al módulo de flujo de inserción nginx. Lo que permite websockets sin requerir soporte en el lenguaje … (PHP lo hace mal)

More Interesting

¿Alguien puede dar una instancia de una aplicación que solo necesitaría AngularJS en lugar de una pila MEAN completa? ¿Es necesario el backend (Node.js, MongoDB) en todas las aplicaciones web?

'La mayoría de las aplicaciones también necesitan un sistema back-end en el servidor'. ¿Qué significa esto?

¿Cuál debo elegir para una aplicación web, Sencha Touch o jQuery Mobile?

¿Debo seguir con el marco Ionic 1, que conozco muy bien, o aprender React-Native o Ionic 2 para un nuevo proyecto para un cliente en este momento?

Cómo activar una aplicación de correo electrónico cuando el usuario hace clic en un enlace de correo electrónico en el navegador

¿Qué marco es mejor para un desarrollador principiante de aplicaciones web móviles?

¿Cómo es la estructura de fondo de una aplicación compleja como Instagram?

Cómo encontrar al diseñador o desarrollador de una aplicación

¿Cuánto costaría diseñar una aplicación similar a Uber en Android y en iOS?

¿Cuál es la mejor manera de diseñar un sitio móvil?

¿Cuánto costaría construir una aplicación como Twitter?

Cómo implementar JSQMessagesViewController para mi aplicación

¿Cuáles son las ventajas y desventajas de las aplicaciones instantáneas de Android para desarrolladores web y móviles?

¿Cuál debería ser el siguiente paso si quiero crear una nueva aplicación pero no tengo experiencia en codificación?

¿Por qué no se recomienda Adobe Dreamweaver? ¿Puedes usar otra aplicación para hacer las cosas más fáciles que no traigan problemas?