Heim > Web-Frontend > js-Tutorial > Hauptteil

Progressive Web Apps (PWAs)

WBOY
Freigeben: 2024-08-08 08:26:11
Original
1170 Leute haben es durchsucht

Progressive Web Apps (PWAs)

Erstellen von Progressive Web Apps (PWAs)

In diesem Beitrag befassen wir uns mit Progressive Web Apps (PWAs), einem modernen Ansatz zum Erstellen von Webanwendungen, die ein natives App-ähnliches Erlebnis bieten. Ich werde die Grundlagen von PWAs, ihre Vorteile und die Schritte zum Erstellen einer PWA von Grund auf behandeln.

1. Einführung in Progressive Web Apps (PWAs)

Was ist eine Progressive Web App (PWA)?

Eine Progressive Web App ist eine Art Anwendungssoftware, die über das Web bereitgestellt wird und unter Verwendung gängiger Webtechnologien wie HTML, CSS und JavaScript erstellt wird. PWAs sollen auf jeder Plattform funktionieren, die einen standardkonformen Browser verwendet.

Hauptmerkmale von PWAs:

  • Responsiv: Funktioniert auf jedem Gerät und jeder Bildschirmgröße.
  • Offline-Fähigkeit: Funktioniert offline oder bei schlechten Netzwerkbedingungen mithilfe von Servicemitarbeitern.
  • App-ähnliches Erlebnis: Bietet ein App-ähnliches Benutzererlebnis mit Funktionen wie der Installation auf dem Startbildschirm.
  • Sicher: Wird über HTTPS bereitgestellt, um Snooping zu verhindern und die Inhaltsintegrität sicherzustellen.
  • Wiedereinschaltbar: Ermöglicht Push-Benachrichtigungen, um Benutzer zu beschäftigen.

2. Vorteile von PWAs

Warum eine PWA erstellen?

  • Verbesserte Leistung: Schnellere Ladezeiten und reibungslosere Interaktionen.
  • Verbesserte Benutzereinbindung: Push-Benachrichtigungen und Zugriff auf den Startbildschirm.
  • Geringere Entwicklungskosten: Eine einzige Codebasis für Web- und Mobilerlebnisse.
  • SEO-Vorteile: PWAs sind für Suchmaschinen auffindbar.

3. Einrichten einer PWA

Voraussetzungen:

  • Grundkenntnisse in HTML, CSS und JavaScript.
  • Node.js und npm/yarn installiert.

Eine einfache PWA erstellen:

  1. Projekteinrichtung:

    mkdir my-pwa
    cd my-pwa
    npm init -y
    npm install express
    
    Nach dem Login kopieren
  2. Projektstruktur:

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

4. Erstellen der Manifestdatei

manifest.json:

Die Manifestdatei stellt Metadaten über die PWA bereit und ist für die Installation der App auf dem Startbildschirm erforderlich.

// 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"
    }
  ]
}
Nach dem Login kopieren

5. Erstellen der HTML-, CSS- und JavaScript-Dateien

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>My PWA</title>
  <link rel="stylesheet" href="/styles.css">
  <link rel="manifest" href="/manifest.json">
</head>
<body>
  <h1>Welcome to My Progressive Web App!</h1>
  <script src="/app.js"></script>
</body>
</html>
Nach dem Login kopieren

styles.css:

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

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);
      });
  });
}
Nach dem Login kopieren

6. Einrichten des Servicemitarbeiters

Ein Service Worker ist ein Skript, das der Browser getrennt von der Webseite im Hintergrund ausführt. Es fängt Netzwerkanfragen ab und kann Ressourcen zwischenspeichern, um die Leistung und Offline-Fähigkeiten zu verbessern.

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);
      })
  );
});
Nach dem Login kopieren

7. Einrichten des Servers

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}`);
});
Nach dem Login kopieren

Ausführen des Servers:

node server.js
Nach dem Login kopieren

8. Testen Sie Ihre PWA

  1. Öffnen Sie die App:

    • Navigieren Sie in Ihrem Browser zu http://localhost:3000.
  2. Registrierung von Servicemitarbeitern:

    • Öffnen Sie die Entwicklertools (F12 oder klicken Sie mit der rechten Maustaste und wählen Sie „Inspizieren“).
    • Gehen Sie zur Registerkarte „Bewerbung“.
    • Unter „Servicemitarbeiter“ sollten Sie Ihren registrierten Servicemitarbeiter sehen.
  3. Zum Startbildschirm hinzufügen:

    • Öffnen Sie auf einem mobilen Gerät Ihre PWA im Browser.
    • Sie sollten eine Aufforderung zum „Zum Startbildschirm hinzufügen“ sehen.

9. Best Practices für PWAs

Best Practices:

  • HTTPS verwenden: PWAs erfordern sichere Kontexte.
  • Bilder optimieren: Verwenden Sie reaktionsfähige Bilder und Lazy Loading.
  • Netzwerkanforderungen minimieren: Ressourcen effektiv zwischenspeichern.
  • Offline-Funktionalität sicherstellen: Bieten Sie sinnvolle Offline-Erlebnisse.

10. Fazit

Fassen Sie die wichtigsten behandelten Punkte zusammen:

  • Einführung in PWAs und ihre Vorteile.
  • Einrichten einer einfachen PWA mit Manifest, Service Worker und Caching.
  • Best Practices für den Aufbau robuster PWAs.

11. Zusätzliche Ressourcen

  • PWA-Dokumentation
  • Tutorials und Anleitungen zu fortgeschrittenen PWA-Themen.
  • Community-Foren und Support.

Das obige ist der detaillierte Inhalt vonProgressive Web Apps (PWAs). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage