Progressive Web Apps (PWA)


Progressive Web Apps (PWAs) sind Webanwendungen, die moderne Webtechnologien nutzen, um eine App-ähnliche Erfahrung auf verschiedenen Geräten und Plattformen zu bieten. PWAs kombinieren das Beste aus Webseiten und nativen Apps

Das Erstellen und Einbetten einer Progressive Web App (PWA) kann in mehrere Schritte unterteilt werden:



1. Manifest erstellen

Ein Manifest ist eine JSON-Datei, die Metadaten über die App enthält. Es definiert grundlegende Eigenschaften wie Name, Beschreibung, Start-URL, Symbole usw. Hier ist ein einfaches Beispiel für ein Manifest:

Manifest.json

{
          "name": "Meine PWA",
          "short_name": "PWA",
          "description": "Eine fantastische Progressive Web App",
          "start_url": "/index.html",
          "display": "standalone",
          "background_color": "#ffffff",
          "theme_color": "#2196f3",
          "icons": [
            {
              "src": "/icon.png",
              "sizes": "192x192",
              "type": "image/png"
            },
            {
              "src": "/icon-512.png",
              "sizes": "512x512",
              "type": "image/png"
            }
          ]
        }

Schritt 2: Service Worker hinzufügen

Der Service Worker ist ein JavaScript-Skript, das im Hintergrund läuft und Netzwerkanforderungen abfangen kann, z.B. um eine Offlinefunktionalität zu ermöglichen.

Service Worker


         self.addEventListener('install', function(event) {
           event.waitUntil(
             caches.open('v1').then(function(cache) {
             return cache.addAll([
               '/css/styles.css',
               '/img/banner-7.jpg',
               '/img/logo.png',
                // Füge hier weitere Dateien hinzu, die gecached werden sollen
                ]);
              })
            );
        });
                  
        self.addEventListener('fetch', function(event) {
          event.respondWith(
           caches.match(event.request).then(function(response) {
            return response || fetch(event.request);
            })
          );
        });
                  

Schritt 3: Header bearbeiten

Im Header müssen jetzt noch ein Script und eine Verlinkung hinzugefügt werden.

index.html oder header.html


     <link rel="manifest" href="/manifest.json">
     <script>
        if ('serviceWorker' in navigator) {
        window.addEventListener('load', function() {
        navigator.serviceWorker.register('/service-worker.js').then(function(registration) {
        console.log('ServiceWorker registration successful with scope: ', registration.scope);
        }, function(err) {
      console.log('ServiceWorker registration failed: ', err);
      });
          });
              }
        </script>