sql >> Base de Datos >  >> RDS >> Database

Una guía para las funciones de PubNub

Las increíbles velocidades alcanzadas por las modernas conexiones a Internet de hoy han facilitado la proliferación de aplicaciones en tiempo real. Estas son aplicaciones que funcionan dentro de un marco de tiempo lo suficientemente rápido como para que el usuario sienta que sus respuestas son inmediatas para todos los propósitos prácticos. Por lo tanto, la latencia debe ser de segundos o incluso fracciones de segundo.

Hasta hace poco, el desarrollo de aplicaciones en tiempo real ha sido un poco molesto y requería un gran esfuerzo de ingeniería. Esto se debe a que, para crear cualquier tipo de funcionalidad en tiempo real, debe establecer una conexión bidireccional entre el cliente y el servidor para enviar mensajes. PubNub proporciona API en tiempo real e infraestructura de mensajería global para simplificar la codificación de sus aplicaciones en tiempo real. Utiliza un modelo de publicación/suscripción para transmisión de datos en tiempo real y señalización de dispositivos que le permite establecer y mantener conexiones de socket persistentes a cualquier dispositivo y enviar datos a audiencias globales en menos de un cuarto de segundo. Puede publicar mensajes en cualquier canal dado, y los clientes suscritos solo reciben mensajes asociados con ese canal. La carga útil del mensaje puede contener cualquier tipo de datos JSON, incluidos números, cadenas, matrices y objetos.

En el artículo de hoy, crearemos y probaremos una función de saludo usando la consola de PubNub.

Tutorial

PubNub tiene consolas en línea para desarrollar y administrar cada componente de sus proyectos y módulos, desde claves API hasta configuraciones de depuración. Por lo tanto, todo lo que haremos hoy tendrá lugar en el sitio PubNub.

  1. Empecemos por crear una cuenta. Si ya tiene una cuenta de Google, puede usarla para proporcionar sus credenciales.
  2. En la consola de administración, verá que ya se ha creado un proyecto de demostración para usted. Haga clic para abrir el proyecto en la consola.
  3. Allí, verá su conjunto de claves de demostración. Ahora, haga clic en él para acceder a sus detalles.
  4. En Complementos de aplicaciones en la parte inferior de la pantalla, verá una serie de opciones. Habilite las funciones de PubNub, como se muestra en la Figura 1:


    Figura 1: Habilitación de las funciones de PubNub

  5. El botón Guardar aparecerá en la esquina inferior izquierda de la pantalla. Haga clic para guardar los cambios.
  6. Ahora, crearemos un módulo de aplicación. En el menú de la izquierda, haga clic en Funciones de PubNub para que aparezca la pantalla Funciones de PubNub (consulte la Figura 2):


    Figura 2: La pantalla Funciones de PubNub

  7. En el cuadro de diálogo Crear nuevo módulo, ingrese "Saludo" en el campo "Ingresar un nuevo nombre de aplicación". Haga clic en el botón 'Crear nuevo módulo', como puede ver en la Figura 3:


    Figura 3: Creando un nuevo módulo

    Debería recibir una notificación de "Nuevo módulo creado con éxito" en la parte superior de la página.

  8. A continuación, codificaremos la función. Dentro del contexto de una aplicación en tiempo real, la Función es donde colocamos la lógica que se ejecuta contra el mensaje. Haga clic en el botón '+ CREAR' para crear una nueva función.
  9. En el cuadro de diálogo Nueva función, ingrese "Mostrar saludo" para el 'Nombre de la función', elija "Antes de publicar o disparar" para el 'Tipo de función' e ingrese "mostrar_saludo" para el 'Nombre del canal' (consulte la Figura 4 ):


    Figura 4: Completando la secuencia de creación

  10. Haga clic en 'Crear'.

Aparecerá el editor del módulo Mostrar saludo. Mostrará la función Mostrar saludo en el editor con un esqueleto básico. En este momento, todo lo que hace es registrar la solicitud y devolverla como una resolución de promesa :

export default (request) => { 
   const kvstore = require('kvstore');
   const xhr = require('xhr');

   // Log the request envelope passed
   console.log('request', request);
   // Return a promise when you're done
   return request.ok();
}

En el código anterior:

  • El parámetro de solicitud contiene el objeto del sobre del mensaje PubNub.
  • El cuerpo de la función importa algunas bibliotecas, registra la solicitud y devuelve la solicitud como una resolución de promesa. (Devolver request.ok() es equivalente a devolver Promise.resolve(request)).

Esta función se ejecutará cada vez que el mensaje ingrese a la red de flujo de datos de PubNub, pero antes de que se replique y distribuya a los suscriptores, porque su tipo es "Antes de publicar".

Ahora, modificaremos el código de la función para agregar un nombre al mensaje "Hola" predeterminado.

  1. En el editor de código de función, reemplace la línea console.log con lo siguiente:
    request.message.greeting += " world!";
  2. Haga clic en "Guardar".
  3. Ahora, probemos nuestra función. En el campo 'Test Payload', ingrese el siguiente literal JSON, como se muestra en la Figura 5:
    {
       "greeting": "Hello"
    }
    


    Figura 5: Visualización de la información del mensaje

  4. Haga clic en "Guardar prueba".
  5. Haga clic en "Publicar" para enviar el mensaje al canal "hola_saludo". El resultado se imprimirá en la consola de prueba:
    11:34:36  block: Deploying in regions: Eastern US,
       Western US, Asia, Central Europe.
    11:34:38  block: Module is now globally deployed. 
    11:34:41 publish: { "greeting": "Hello world!" }
    

Como puede ver, el saludo ahora dice "¡Hola mundo!".

Uso de la consola de desarrollo de producción

Puede ver en los ejemplos anteriores que la consola de prueba integrada es conveniente, pero a veces, es posible que desee usar la consola de desarrollo de producción en su lugar para emular mejor un entorno de producción. Para usar la consola de desarrollo de producción:

  1. Navegue a la Consola para desarrolladores de PubNub.
  2. Establezca el 'canal' en "hola_saludo".
  3. Establezca las claves de publicación y suscripción a las del conjunto de claves de demostración.
  4. Haga clic en 'Suscribirse'.
  5. Al hacer clic en el botón Publicar esta vez, se muestra el mismo resultado de producción que su cliente vería en los contenidos que se muestran en las Figuras 6 y 7:


    Figura 6: Publicando el saludo


    Figura 7: Mensajes de producción

Conclusión

Hay mucho más en PubNub que funciones. También ofrece ChatEngine, Data Stream Network, Realtime Messaging y muchas otras herramientas destinadas al desarrollo en tiempo real. Sus servicios no son completamente gratuitos, pero probablemente valen la pena para la mayoría de las empresas.