
Mensaje de bienvenida y primeros pasos en las PWA
Es algo obvio para muchos, pero por favor observen este video
Instalaciones recomendadas para que puedan seguir el curso igual que yo
Una breve introducción a la sección
Un resumen puntual de los temas que veremos en la sección
¿De dónde nacieron, por qué, para que sirven, que son?
Una pequeña introducción por qué es importante conocer el tema
Aquí les dejo el material de la sección por si desean saber un poco más al respecto
Una breve introducción de lo que veremos en la sección
Una lista de los temas puntuales que veremos a continuación
Aquí comenzaremos el reforzamiento
Esta es una de las problemáticas que hicieron que las promesas nacieran
Aquí resolveremos el ejercicio anterior utilizando promesas
Aquí aprenderemos formas de manejar el error en las promesas
Como el nombre lo dice, es una carrera para comprobar cual termina primero
Siempre es bueno tener un poco más de información sobre las promesas
Esta es la demostración de todo lo que teníamos que hacer para realizar una simple petición HTTP originalmente
Es hora de hablar sobre el Fetch API, la nueva forma de hacer peticiones HTTP
Aquí aprenderemos a realizar peticiones POST y PUT utilizando el Fetch API
Vamos a obtener una imagen, leerla y mostrarla en pantalla usando el fetch
Esto es importante saberlo para prevenir posibles errores cuando estemos manejando el cache
Aprenderemos notas importantes sobre las respuestas
Aquí aprenderemos a leer archivos de texto, entre los cuales esta incluido el HTML
Aquí les dejo una tarea para practicar lo aprendido hasta el momento
Pueden revisar estos enlaces para conocer más al respecto
Código fuente de la sección
Breve resumen de la sección
Temas puntuales de la sección
Una introducción del Service Worker y ¿qué hace?
Inicio del proyecto, pasos y material adjunto
Pasos para la instalación de un Service Worker
Aquí empezaremos a darle poder al Service Worker
Aquí les mostraré formas válidas o sinónimos para realizar peticiones Fetch
Aquí modificaremos la respuesta que es solicitada desde la aplicación web
Esta es una pequeña tarea para ponerlos a pensar un poco y que se diviertan a la vez.
Aquí aprenderemos a manejar errores cuando un recurso no este disponible por varias razones
Código fuente de la sección
Una breve descripción de lo que veremos en la sección
Temas puntuales de la sección
Aquí iniciaremos el nuevo proyecto para explicar estos temas
Proceso de instalación del Service Worker
Esperar hasta que termine de realizar un trabajo
Sincronización offline y recuperación de conexión
Evento para escuchar cuando recibimos notificaciones PUSH
Les dejo aquí el código fuente por si lo llegan a necesitar
Un resumen puntual de lo que veremos en esta sección
Aquí iniciaremos el proyecto y a la vez trabajaremos con la primera petición offline básica
Aquí responderemos con un html String
Aquí tendremos una gentil introducción al cache storage
Quiere decir que no existen peticiones a recursos externos, todo es servido desde el cache
Primero el cache, luego intenta la red
Aquí hablaremos sobre el cache dinámico y un par de optimizaciones
Donde el rendimiento es crítico, esta es una opción viable
Esta estrategia brinda la máxima velocidad de respuesta posible
Aquí vamos a poner un problema real, y ver cómo lo podemos solucionar
Si no existe en el cache la página web, entonces haremos esto
Aquí aprenderemos a borrar versiones viejas que ya no ocuparemos del cache, de forma dinámica
Aquí tienen el código fuente por si acaso lo quieren usar para comparar
Para seguir expandiendo el conocimiento al respecto
Una lista de los temas que aquí veremos
Aquí comenzaremos a trabajar con un nuevo proyecto, el cual deberemos de desplegar en nuestro dispositivo móvil
Comenzaremos la configuración del service worker y la transformación de una aplicación web común en una PWA
Este es otro archivo sumamente importante para nuestra PWA, y le dice a nuestro dispositivo cómo debe de mostrar nuestra aplicación
Aquí explicare unos pasos para que puedan depurar su aplicación cuando corre en el dispositivo móvil
Aquí vamos a desplegar la aplicación en GitHub pages para poder observar la verdadera forma de nuestra aplicación
Así se verá nuestra PWA en un dispositivo Android
Ahora trabajaremos optimizando un poco más nuestra aplicación en IOS
Importante
Aquí podemos recibir información de cómo va nuestra aplicación, para poder optimizarla
Esto ayuda mucho a generar estos archivos rápidamente, y algunos hasta generan los íconos.
Pueden descargar el código fuente de mi aplicación para que lo puedan comparar contra el suyo, en caso de ser necesario
Un breve resumen de lo que veremos en esta sección
Temas puntuales que veremos en la sección
IndexedDB es una base de datos local, que se almacena en el navegador web
Aquí aprenderemos a manejar los errores de base de datos y realizar las primeras inserciones de los registros
Les dejo el código del indexedDB, no lo volveremos a tocar en el curso, ya que usaremos PouchDB
Aprendiendo a usar PouchDB
Aquí aprenderemos a leer registros de la base de datos
Aquí aprenderemos a editar y borrar todos... terminaremos nuestra lista de tareas
Aquí tenemos una pequeña tarea que consiste en que nuestra aplicación de TODOS hecha con PouchDB funcione offline
Aquí vamos a resolver la tarea, espero que lograran terminarla o llegar lo más lejos posible.
Adjunto el código de la sección por si acaso lo necesitan
Un resumen de lo que veremos en esta sección
Un listado y detalles de lo que aprenderemos en esta sección
Crearemos un servicio rest, que nos permita obtener los mensajes de nuestro server
Vamos a leer los mensajes y mostrarlos en pantalla
Aquí vamos a cambiar la implementación de la estrategia, para las peticiones que se realicen a nuestros servicios REST
Vamos a crear el servicio rest, que se encarga de realizar el posteo de un nuevo mensaje al servidor
Aquí aprenderemos muchas cosas importantes en el envío de un mensaje post.
Interceptar información del POST y almacenarlo en indexedDB para posterior almacenamiento
Aquí aprenderemos cómo registrar la tarea asíncrona y procesarla del lado del Service Worker
Aquí leeremos PouchDB, y todos los registros que tenemos en la base de datos los vamos a postear
Aquí aprenderemos una estrategia para saber cuando tenemos o no conexión
Pueden descargar el código fuente de la sección aquí.
Un resumen de lo que lograremos en esta sección
Un resumen puntual de los temas que cubriremos aquí
Una introducción necesaria para empezar la programación de nuestras PUSH
Este es el primer paso para poder enviar notificaciones, y consiste en preguntarle al usuario o bien confirmar si previamente ya aceptó recibir notificaciones
Solicitar permiso para las notificaciones
Aquí simplemente haremos una pequeña función para mostrar y ocultar el botón de las notificaciones
Vamos a definir los servicios REST de nuestro backend server, que necesitaremos para poder trabajar las notificaciones
Aquí vamos a generar las llaves para nuestro server
Un pequeño paso adicional pero es necesario
Aquí aprenderemos a generar la suscripción de nuestro dispositivo
Aquí aprenderemos a recibir en nuestro backend las suscripciones y las almacenaremos para no perderlas cada vez que se reinicia el servidor
Guardaremos nuestras suscripciones en un archivo de texto
Aquí vamos a crear un botón que nos permita cancelar la suscripción desde el mismo front-end
Aquí vamos a configurar nuestro backend para poder manejar el envío de notificaciones push
Aquí vamos a aprender muchas de las opciones válidas de una notificación
Aquí aprenderemos aún más opciones que pueden ser usadas de las notificaciones
Aquí vamos a redireccionar a nuestros usuarios cuando la notificación se toca
Ahora es momento de eliminar las suscripciones que ya no nos sirven
Código fuente de la sección
Nota Legacy:
Después de varios años desde el lanzamiento inicial de este curso, queremos informarte que el mismo ha pasado a ser versión legacy. Esto implica que su contenido no recibirá actualizaciones adicionales y nuestro equipo de Co-instructores no continuará proporcionando soporte a preguntas relacionadas con este curso.
Sin embargo, queremos que sigas aprendiendo con confianza. Por eso, te invitamos a unirte a nuestra comunidad en Discord, donde podrás conectar con otros estudiantes, compartir conocimientos y recibir apoyo de nuestra comunidad.
¡Gracias por tu comprensión y por ser parte de nuestra comunidad de aprendizaje!
Aplicaciones Web Progresivas - PWA
Las PWAs son el siguiente paso en las aplicaciones web tradicionales, nos permiten poder utilizar nuestra aplicación web inclusive si no tenemos conexión con el servidor e inclusive nos permite recibir notificaciones push.
Este curso se enfoca en extender las características de una aplicación web y convertirla en una PWA integrando funcionalidades que nos permitan usarla sin conexión, instalarla en el home screen, usar base de datos offline y mucho más.
Los temas principales que cubriremos en el curso son:
Aplicación web sin conexión a internet
Diferentes estrategias para el manejo del caché
IndexedDB
PouchDB
Service Workers
App Manifest
Splash Screens
Push Notification
Push Server propio
Fetch API
Interceptar peticiones
Despliegues en dispositivos
Sincronización sin conexión
Recursos nativos como la cámara y localización
Share API
Y más
Una aplicación web progresiva bien elaborada, no se puede diferenciar de una aplicación nativa, y aquí aprenderemos a profundidad muchos temas para que podamos aprovechar al máximo lo que el navegador web del cliente nos ofrece, y progresivamente mejorar la experiencia de usuario conforme nuevas funcionalidades sean liberadas.
Lo mejor de todo, es que no es necesario volver a crear nuestra aplicación web o página web, con la ayuda del Service Worker nos permite integrar todo lo mencionado anteriormente para que nuestros usuarios disfruten de una aplicación web eficiente y veloz.
El curso está enfocado en aprender no sólo los fundamentos, sino también convertir aplicaciones hechas en PWAs que será la tarea más común, le integraremos paso a paso funcionalidades que nos permitan decidir qué características queremos incluir en nuestras aplicaciones web empresariales o personales.
Siéntete libre de revisar las clases gratuitas y el temario que se encuentran en el curso para tener una mejor idea de los objetivos del mismo