styles.css:

/* styles.css */body {  font-family: Arial, sans-serif;  text-align: center;  background-color: #f0f0f0;  color: #333;}

app.js:

// app.jsif (\\'serviceWorker\\' in navigator) {  window.addEventListener(\\'load\\', () => {    navigator.serviceWorker.register(\\'/service-worker.js\\')      .then(registration => {        console.log(\\'ServiceWorker registered: \\', registration);      })      .catch(error => {        console.log(\\'ServiceWorker registration failed: \\', error);      });  });}

6. Configurando o Service Worker

Um service worker é um script que o navegador executa em segundo plano, separado da página da web. Ele intercepta solicitações de rede e pode armazenar recursos em cache para melhorar o desempenho e os recursos off-line.

service-worker.js:

// service-worker.jsconst CACHE_NAME = \\'my-pwa-cache-v1\\';const urlsToCache = [  \\'/\\',  \\'/styles.css\\',  \\'/app.js\\',  \\'/manifest.json\\',  \\'/icon-192x192.png\\',  \\'/icon-512x512.png\\'];self.addEventListener(\\'install\\', event => {  event.waitUntil(    caches.open(CACHE_NAME)      .then(cache => {        return cache.addAll(urlsToCache);      })  );});self.addEventListener(\\'fetch\\', event => {  event.respondWith(    caches.match(event.request)      .then(response => {        return response || fetch(event.request);      })  );});

7. Configurando o Servidor

server.js:

const express = require(\\'express\\');const path = require(\\'path\\');const app = express();const PORT = process.env.PORT || 3000;app.use(express.static(path.join(__dirname, \\'public\\')));app.listen(PORT, () => {  console.log(`Server is running on http://localhost:${PORT}`);});

Executando o servidor:

node server.js

8. Testando seu PWA

  1. Abra o aplicativo:

  2. Registro de funcionário de serviço:

  3. Adicionar à tela inicial:

9. Melhores práticas para PWAs

Práticas recomendadas:

10. Conclusão

Resuma os principais pontos abordados:

11. Recursos Adicionais

","image":"http://www.luping.net/uploads/20240819/172406232366c31a735dfeb.jpg","datePublished":"2024-08-19T18:12:03+08:00","dateModified":"2024-08-19T18:12:03+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Aplicativos Web Progressivos (PWAs)

Aplicativos Web Progressivos (PWAs)

Publicado em 19/08/2024
Navegar:200

Progressive Web Apps (PWAs)

Construindo Aplicativos Web Progressivos (PWAs)

Nesta postagem, exploraremos Progressive Web Apps (PWAs), uma abordagem moderna para construir aplicativos da web que oferecem uma experiência nativa semelhante a um aplicativo. Abordarei os fundamentos dos PWAs, suas vantagens e as etapas para criar um PWA do zero.

1. Introdução aos Progressive Web Apps (PWAs)

O que é um Progressive Web App (PWA)?

Um Progressive Web App é um tipo de software aplicativo fornecido pela web, desenvolvido usando tecnologias comuns da web, incluindo HTML, CSS e JavaScript. Os PWAs destinam-se a funcionar em qualquer plataforma que use um navegador compatível com os padrões.

Principais recursos dos PWAs:

  • Responsivo: Funciona em qualquer dispositivo e tamanho de tela.
  • Capacidade off-line: Funciona off-line ou com más condições de rede usando service workers.
  • Experiência semelhante à de um aplicativo: fornece uma experiência de usuário semelhante à de um aplicativo com recursos como instalação na tela inicial.
  • Seguro: veiculado por HTTPS para evitar espionagem e garantir a integridade do conteúdo.
  • Reengajável: permite notificações push para manter os usuários envolvidos.

2. Vantagens dos PWAs

Por que construir um PWA?

  • Desempenho melhorado: tempos de carregamento mais rápidos e interações mais suaves.
  • Envolvimento aprimorado do usuário: notificações push e acesso à tela inicial.
  • Custos de desenvolvimento mais baixos: Base de código única para experiências web e móveis.
  • Benefícios de SEO: PWAs podem ser descobertos pelos mecanismos de pesquisa.

3. Configurando um PWA

Pré-requisitos:

  • Conhecimento básico de HTML, CSS e JavaScript.
  • Node.js e npm/yarn instalados.

Criando um PWA simples:

  1. Configuração do projeto:

    mkdir my-pwa
    cd my-pwa
    npm init -y
    npm install express
    
  2. Estrutura do projeto:

    my-pwa/
    ├── public/
    │   ├── index.html
    │   ├── styles.css
    │   └── app.js
    ├── server.js
    ├── package.json
    └── manifest.json
    

4. Criando o arquivo de manifesto

manifest.json:

O arquivo de manifesto fornece metadados sobre o PWA e é necessário para instalar o aplicativo na tela inicial.

// manifest.json
{
  "name": "My PWA",
  "short_name": "PWA",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#007bff",
  "icons": [
    {
      "src": "icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ]
}

5. Criação de arquivos HTML, CSS e JavaScript

index.html:



  
  
  My PWA
  
  


  

Welcome to My Progressive Web App!

styles.css:

/* styles.css */
body {
  font-family: Arial, sans-serif;
  text-align: center;
  background-color: #f0f0f0;
  color: #333;
}

app.js:

// app.js
if ('serviceWorker' in navigator) {
  window.addEventListener('load', () => {
    navigator.serviceWorker.register('/service-worker.js')
      .then(registration => {
        console.log('ServiceWorker registered: ', registration);
      })
      .catch(error => {
        console.log('ServiceWorker registration failed: ', error);
      });
  });
}

6. Configurando o Service Worker

Um service worker é um script que o navegador executa em segundo plano, separado da página da web. Ele intercepta solicitações de rede e pode armazenar recursos em cache para melhorar o desempenho e os recursos off-line.

service-worker.js:

// service-worker.js
const CACHE_NAME = 'my-pwa-cache-v1';
const urlsToCache = [
  '/',
  '/styles.css',
  '/app.js',
  '/manifest.json',
  '/icon-192x192.png',
  '/icon-512x512.png'
];

self.addEventListener('install', event => {
  event.waitUntil(
    caches.open(CACHE_NAME)
      .then(cache => {
        return cache.addAll(urlsToCache);
      })
  );
});

self.addEventListener('fetch', event => {
  event.respondWith(
    caches.match(event.request)
      .then(response => {
        return response || fetch(event.request);
      })
  );
});

7. Configurando o Servidor

server.js:

const express = require('express');
const path = require('path');

const app = express();
const PORT = process.env.PORT || 3000;

app.use(express.static(path.join(__dirname, 'public')));

app.listen(PORT, () => {
  console.log(`Server is running on http://localhost:${PORT}`);
});

Executando o servidor:

node server.js

8. Testando seu PWA

  1. Abra o aplicativo:

    • Navegue para http://localhost:3000 no seu navegador.
  2. Registro de funcionário de serviço:

    • Abra as Ferramentas do Desenvolvedor (F12 ou clique com o botão direito e selecione "Inspecionar").
    • Vá para a guia "Aplicativo".
    • Em "Service Workers", você deverá ver seu service worker registrado.
  3. Adicionar à tela inicial:

    • Em um dispositivo móvel, abra seu PWA no navegador.
    • Você deverá ver um prompt para "Adicionar à tela inicial".

9. Melhores práticas para PWAs

Práticas recomendadas:

  • Use HTTPS: PWAs exigem contextos seguros.
  • Otimizar imagens: use imagens responsivas e carregamento lento.
  • Minimize solicitações de rede: armazene recursos em cache de maneira eficaz.
  • Garanta a funcionalidade off-line: forneça experiências off-line significativas.

10. Conclusão

Resuma os principais pontos abordados:

  • Introdução aos PWAs e seus benefícios.
  • Configurando um PWA simples com manifesto, service worker e cache.
  • Práticas recomendadas para construir PWAs robustos.

11. Recursos Adicionais

  • Documentação do PWA
  • Tutoriais e guias sobre tópicos avançados de PWA.
  • Fóruns e suporte da comunidade.
Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/suhaspalani/progressive-web-apps-pwas-3n8?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3