Hola a todos, escribo en esta oportunidad porque quisiera hacer un menú de notificaciones así como el de Facebook donde aparece la notificación. Quiero hacer eso para cuando el usuario se le asigne un documentos a este le llegue una notificación en el sistema. Si me pudieran dar una idea de qué debo de utilizar para hacerlo. ¿PHP y Ajax? Se lo agradecería. Estoy trabajando con Bootstrap, PHP y Ajax.
Respuestas
Respecto a la pregunta: "¿Lo hago con PHP y Ajax?" mi respuesta sería: hazlo con las tecnologías que domines. Da exactamente igual qué lenguaje de programación utilices, porque vas a poder hacerlo con cualquiera. Así que elige en el que mejor te defiendas.
Sobre la aplicación en sí, tienes que hacer 3 cosas diferentes:
- La parte PHP en el servidor, esto sería muy "fácil" ya que solo habrá que hacer alguna consulta en la base de datos o responder a los eventos que nos notifiquen de alguna manera.
- La parte JavaScript/Ajax en el navegador, esto lo comento a continuación porque es la parte más difícil.
- La parte HTML/CSS de las notificaciones, esto también será "fácil" porque existen muchas librerías que ya te dan todo hecho y además se integran perfectamente con Bootstrap. Por ejemplo: Bootstrap Notify.
Con respecto a la parte JavaScript/Ajax, tienes que decidir entre varias tecnologías a utilizar. Elegir la mejor dependerá de la experiencia que tengas, del número de usuarios que vaya a tener la aplicación, etc.
En el pasado, lo que se hacía es programar un método JavaScript para que cada X segundos hiciera una petición al servidor para ver si hay nuevas notificaciones. La ventaja es que es muy sencillo de programar (te basta con un setTimeout()
) pero lo malo es que las notificaciones no son en tiempo real y que puede consumir muchos recursos si tienes muchos usuarios.
La forma moderna de hacerlo es mediante eventos de servidor o mediante web sockets. En este caso, cuando en el servidor pase algo, se enviará un mensaje al navegador y así se mostrará la notificación al usuario. Aunque es más difícil de programar, la ventaja es que todo es en tiempo real y que no se consumen más recursos de los necesarios.
Este artículo es un poco viejo, pero explica bien a modo de introducción las tres formas: consultas infinitas a intervalos, eventos de servidor y web sockets.
@javiereguiluz
Muchas gracias @javiereguiluz por responderme, voy a investigar y leer el artículo que colocaste, cualquier cosa te comento :)
@eng_teresa
@javiereguiluz Estuve leyendo el artículo y me parecio muy bueno, también lei de algo de comet, has trabajado con esa tecnología? que tal es?
@eng_teresa