¿Qué es un servidor Web y un cliente web?

Un servidor web es un programa informática capaz de procesar solicitudes provenientes desde cliente de manera sincrónica o asincrónica, un cliente web es aquel consumidor de servidor web y es aquel que genera las solicitudes al servidor, normalmente realiza solicitudes http.

¿Qué son las aplicaciones dinámicas sincrónicas y asincrónicas en la web?

Las aplicaciones dinámicas sincrónicas son aplicaciones que ejecutan una tarea de manera lineal esperando a que cada sub tarea se cumpla una por una para poder para poder devolver una respuesta en función de la solicitud, un asíncrónica viene siendo lo mismo con las diferencia de que esta no espera a que cada sub tarea se cumpla para poder devolver una solicitud si no que ejecuta otras tareas mientras las otras tareas terminan de dar una respuesta.

¿Qué tipo de tipo de tecnologías se requieren para hacer aplicaciones en tiempo real?

Para hacer aplicaciones en tiempo real se requiere de ciertas aplicaciones para poder estar trayendo constantemente la información del servidor, algunas de estas tecnologías son: pooling, webpooling, websockets y eventos

¿Cuáles son las aplicaciones típicas de las aplicaciones en tiempo real?

Las redes sociales, los sistemas de de correo electrónico, solaris y LynxSO entre otras.

¿Qué es un Websocket?

Los websockets son simplemente un canal de conexión de dos vías el cual utiliza diferentes puertos para intercambiar información con el servidor

¿Cuáles son las características del API Websocket?

Posee interfaces de eventos las cuales controlan el flujo de la conexión y los datos con el servidor, hay compatibilidad con varias navegadores en diferentes versiones, se puede utilizar en diferentes frameworks y lenguajes de backend como nodejs.

¿Qué navegadores soportan Websocket y qué se entiende por backend y frontend?

Los navegadores que soportan websockets son: Chrome, Firefox(Gecko), Opera, Safari y edge. Backend es el desarrollo que se hace desde el lado del servidor, es en donde se estructura el código para procesar y devolver solicitudes que se hacen desde el frontend. FrontEnd es el desarrollo que se hace desde el lado del cliente y es en donde se muestran las respuestas que se envían desde el servidor y a su vez donde se generan las petiones.

¿Qué son las PWA y cuáles son sus ventajas y desventajas?

Progressive web apps (PWA) o aplicación web progresiva es una solución basada en la web tradicional que todos conocemos, aunque incorpora algunas particularidades que la hacen parecerse a una app nativa para teléfonos móviles y tabletas. Cada proyecto es independiente y el nivel de adaptación de la web al formato app es progresivo, por lo que puede que visitemos un site con una PWA casi idéntica a una app o quizá sea una web con algunos avances.

¿Cuáles son las tecnologías de las aplicaciones móviles nativas, y qué son los service worker y cómo se implementan?

Algunas tecnologías son: Kotlin(Android), Swift(ios), react-native(Android-ios), Xamarin y Ionic. Los service worker es una secuencia de comandos que se ejecuta en segunda plano en el navegador, estos no requieren de interfaz gráfica por lo que pueden llegar a ser muy livianos. Para implementar un service worker se requiere, que el navegador para el cual se está desarrollando la aplicación sea compatible con la tecnología, posterior que necesita que el sitio poseea HTTPS, para ello es necesario un certificado tls y por último se debe de registrar en nuestro sitio web a través de javascript

¿Qué herramientas se pueden utilizar para desarrollar aplicaciones en tiempo real modernas que también funcionen en dispositivos móviles?

Con nodeJs y socket.io se puede implementar tanto en web como de manera nativa y a su vez meteor también es una buena alternativa.

¿Qué aplicación se podría con implementar con tecnología en tiempo real?

Una aplicación que se podría hacer que necesita implementar tecnología en tiempo real es un que controle flujo de tareas de uno sistema de usuarios, esta aplicación constantemente actualiza las tareas asignadas a los usuarios en función de la realización de la misma, lo anterior integrando un sistema de chat el cual sea de utilidad para la comunicación dentron de la aplicación.

¿Qué tecnología se utilizaría a nivel de frontend y backend?

Se utilizaría el framework nodejs con la librería socket.io para el backend y el framework de desarrolla frontend react js con redux para poder hacer peticiones offline