Тёмный

Crear PWA desde cero 

Parzibyte
Подписаться 30 тыс.
Просмотров 14 тыс.
50% 1

Опубликовано:

 

27 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 25   
@diegoglz
@diegoglz 8 месяцев назад
Muchas gracias por compartir tu conocimiento. Te comento que siguiendo tu tutorial lo hice funcionar en una app vue.js, así que te agradezco nuevamente. Saludos! 😄
@parzibyte
@parzibyte 8 месяцев назад
Gracias a usted por sus comentarios. Es correcto, una vez "compilada" la app de Vue, solo hay que convertir la carpeta dist en una PWA y funcionará perfectamente. Saludos
@joluzam
@joluzam Год назад
Preciso y conciso justamente lo que estaba buscando muchas gracias
@parzibyte
@parzibyte Год назад
Excelente!
@jeusf5539
@jeusf5539 3 месяца назад
excelente video amigo, me aclaraste todas las dudas, muchas gracias!!
@parzibyte
@parzibyte 2 месяца назад
Gracias por tomarse el tiempo para comentar
@anonymushadow282
@anonymushadow282 Год назад
pueden usar live server para simular un servidor y que les funcione sin publicarlo
@davidtovar1641
@davidtovar1641 8 месяцев назад
Si trabajo en páginas web sencillas con html, css, javascript y php tendría que generar el serviceWorker cada ves que hay un cambio en mis archivos html o también cuando hay cambios en mis archivos php? O en que ocasiones tendría que actualizar el serviceWorker? Excelente video, muy rápido y sencillo.
@parzibyte
@parzibyte 8 месяцев назад
Me parece que solo cada vez que modifique los archivos del frontend, es decir, CSS, HTML y JavaScript. Si los archivos PHP generan HTML, entonces también cada que cambien los PHP
@dirsis
@dirsis 2 года назад
excelente aporteee
@yosipuedoprogramar9664
@yosipuedoprogramar9664 2 года назад
Saludos, la aplicación seguirá funcionando offline y cuando se.comecte nuevamente a internet se envían los datos en cache al.servidor?
@parzibyte
@parzibyte 2 года назад
Hola. Funciona offline, pero los datos no se sincronizan automáticamente ni cosas por el estilo
@jesusgutierrez7683
@jesusgutierrez7683 Год назад
Se puede hacer con un backend de php? Que sean carpetas separadas??
@parzibyte
@parzibyte Год назад
Sí, sin problema. Solo que ya no funcionaría sin internet o sin conexión al servidor
@lueyo31
@lueyo31 2 года назад
he instalado el node en otra ruta y no se como acceder a workbox
@parzibyte
@parzibyte 2 года назад
No debería haber problema ya que se instala de manera global
@titojesus615
@titojesus615 Год назад
probablemente no has editado la ruta en tus variables de entorno del node.js
@demavares
@demavares 2 года назад
Muy buen video me sirvió de mucho. Es recomendable hacer la PWA ya al final cuando termine de hacer mi APP?
@parzibyte
@parzibyte 2 года назад
Hola. Puede hacerla en cualquier punto, de hecho recomendaría hacerla al inicio para ver si las herramientas que usted utilizó van a funcionar correctamente al ser convertidas a PWA
@leonardoolaechea8575
@leonardoolaechea8575 2 года назад
disculpa, que tema usas en vscode ?
@parzibyte
@parzibyte 2 года назад
"Monokai pro", es el número 2 de la lista: parzibyte.me/blog/2019/06/18/temas-vscode/
@spiderdev5166
@spiderdev5166 2 года назад
Sigue funcionando??
@parzibyte
@parzibyte 2 года назад
@manueleduardoordonezsilva8221
Hola, soy un poco nuevo en lo que es PWA, y acabo de crear mi propia app con esto, solo que tengo dudas porque en el cache no me aparecen los archivos como tal. Extrañamente si me aparecen en lo que es el apartado de red como peticiones, alguien sabe si es normal que no me salga nada en el almacenamiento cache? este es mi sw.js: // Nombre del cache const nombreCache = 'apv-cache-v1-manuel'; // Nombre del cache... const assets = [ "/", "/index.html", "/error.html", "/css/boostrap.css", "/css/styles.css", "/js/app.js", "/js/apv.js", ]; //"purpose": "any maskable" // console.log(self); // Instalar el service Worker, no se puede utilizar window, por lo tanto se utiliza self self.addEventListener('install', e => { console.log('Instalado el Service Worker'); e.waitUntil( // Buen lugar para cachear - caches.open(nombreCache) .then( cache => { // Esta función es asincrona... console.log('cacheando...'); cache.addAll(assets); }).catch(error => { console.log(`ERROR AL GUARDAR CACHE...${error}`); }) ); // Revisar en App (Chrome) en Firefox en Almacenamiento }); // Activar el service worker... self.addEventListener("activate", (e) => { console.log("Service Worker Activado"); e.waitUntil( caches.keys() .then((keys) => { return Promise.all( //Analiza los tipos de caches que tenemos y los compara con el nombre del array de arriba y de una vez lo elimina keys .filter((key) => key !== nombreCache)//se lo salta y borra del cache todo lo no igual a nombreCache .map((key) => caches.delete(key))//aqui ya te tronas el "key" que en si es todo el cache antiguo ); }) ); }); // Fetch events para el CSS, HTML, imagenes JS, y hasta llamados a fetch.. self.addEventListener('fetch', e => { console.log('Fetch.. ', e); e.respondWith( caches.match(e.request) .then(respuestaCache => { return respuestaCache || fetch(e.request); }) .catch( () => caches.match('/error.html')) ); }); el manifest: { "name": "APV ", "short_name": "APV", "start_url": "/index.html", "display": "standalone", "background_color": "#D41872", "theme_color": "#D41872", "orientation": "portrait-primary", "icons": [ { "src": "img/icons/icon-72", "type": "image/png", "sizes": "72x72" }, { "src": "img/icons/icon-120.png", "type": "image/png", "sizes": "120x120" }, { "src": "img/icons/icon-128.png", "type": "image/png", "sizes": "128x128" }, { "src": "img/icons/icon-144.png", "type": "image/png", "sizes": "144x144" }, { "src": "img/icons/icon-152.png", "type": "image/png", "sizes": "152x152" }, { "src": "img/icons/icon-196.png", "type": "image/png", "sizes": "196x196", "purpose":"any maskable" }, { "src": "img/icons/icon-256.png", "type": "image/png", "sizes": "256x256" }, { "src": "img/icons/icon-512.png", "type": "image/png", "sizes": "512x512" } ] } y aqui valide lo del serviceWorker: if ('serviceWorker' in navigator) { navigator.serviceWorker.register('./sw.js' ) .then( registrado => console.log('Se instalo correctamente...', registrado)) .catch( error => console.log('Fallo la instalación', error)); } else { console.log('SW No soportados'); }
@luisdelosreyes
@luisdelosreyes 2 года назад
ttf: true-type font
Далее
无意间发现了老公的小金库 #一键入戏
00:20
PWA vs Flutter vs React Native vs Ionic
17:24
Просмотров 38 тыс.
Sitio web en python
3:17:26
Просмотров 142 тыс.
无意间发现了老公的小金库 #一键入戏
00:20