PWA vs. SPA: Gleich, aber anders
Veröffentlicht: 2019-09-18Inhaltsverzeichnis
Die Attraktivität von Standard-Websites verliert langsam an Charme und weicht Webanwendungen. Mit jedem Tag werden Webanwendungen aufgrund ihrer ansprechenden und erstaunlich schnellen Erfahrung immer beliebter.
Der größte Teil dieses technologischen Erfolgs kann nur durch die Implementierung bestimmter Architekturen in die Struktur Ihrer Website erzielt werden, um die Stabilität, Leistung und Interaktion Ihrer Website sicherzustellen.
Zwei derzeit beliebte Ansätze zur Strukturierung Ihrer Webanwendung sind PWAs und SPAs. Entgegen der allgemeinen Vorstellung von diesen beiden Ansätzen sind sie nicht gleich. Dies ist von entscheidender Bedeutung , da ihre übersehenen Unterschiede oft zu kostspieligen Fehlern und verpassten Gelegenheiten führen; Sicherlich möchten Sie – wahrscheinlich ein Websitebesitzer, für den jede Millisekunde zählt – nicht, dass Ihre Webanwendung hinter dem Rest der Welt zurückbleibt.
Wie arbeiten Sie?
Einzelseitenanwendungen (SPAs)
SPA (Single Page Application) ist eine Website, deren aktuelle Seite dynamisch aktualisiert wird, anstatt vollständig von einem Server heruntergeladen zu werden. Mit anderen Worten, der gesamte notwendige Anwendungscode für Ihre Webanwendung (HTML, CSS, JavaScript) muss nur einmal geladen werden. Während der Benutzer durch die Webanwendung navigiert, werden alle Inhalte und Elemente, die aktualisiert werden müssen, abgerufen und neu gerendert, ohne dass der Benutzer den Browser neu laden muss.
Dies erspart den traditionellen Roundtrip zwischen Browser und Server und ermöglicht somit schnellere Interaktionen und eine bessere Benutzerzufriedenheit.

Sie verwenden SPA wahrscheinlich die ganze Zeit, ohne es zu merken. Beachten Sie, dass sich die meisten Social-Media-Websites ähnlich anfühlen? Das liegt daran, dass sie alle SPAs verwenden, um die Benutzererfahrung zu optimieren und einen kontinuierlichen News-Update-Feed zu erstellen.
Hier sind einige der bemerkenswerten SPAs, die Sie wahrscheinlich regelmäßig nutzen:
- Gmail
- Netflix
- Google Maps
Progressive Web-Apps (PWAs)
Im Gegensatz zu SPA ähnelt Progressive Web App (PWA) eher einer Reihe von Richtlinien und Checklisten als einer bestimmten Architektur. PWAs sind bekannt und unterscheiden sich von SPAs durch mehrere Merkmale wie:
- Service Worker: Service Worker bilden die technische Grundlage für viele der herausragenden Funktionen von PWA, nämlich Offline-Verfügbarkeit und Push-Benachrichtigungen.
- Web-App-Manifest: Eine JSON-Datei, die die erforderlichen Metadaten für Ihre PWA enthält. Web-App-Manifeste können automatisch mit dem PWA-Manifest-Generator generiert werden.
- HTTPS: PWAs werden immer von einem sicheren Ursprung bereitgestellt.

Servicemitarbeiter fungieren als Proxy zwischen dem Browser und dem Netzwerk und sind für das Caching der Website-Assets und das Abfangen von Netzwerkanfragen verantwortlich, was zur Offline-Verfügbarkeit der Website und verschiedenen anderen Funktionen, einschließlich Push-Benachrichtigungen, führt.
Auch die Servicemitarbeiter helfen im Hintergrund tatkräftig mit. Sie bieten nicht nur Offline-Funktionen, sondern sind auch für einen Großteil der umfangreichen Berechnungen verantwortlich, was der Hauptgrund dafür ist, warum die meisten PWA-Websites so effizient sind und schnell geladen werden.
Wir haben einen ausführlichen Leitfaden darüber geschrieben, was Progressive Web App ist. Sie können es also nicht verpassen!
Wie sind sie gleich?
Diese beiden Architekturen sind sowohl neue als auch revolutionäre Technologien und bieten ihren Benutzern ein App-ähnliches, fesselndes Erlebnis, das sich stark von traditionellen Websites unterscheidet. Auf den ersten Blick können sie leicht miteinander verwechselt werden; Die zugrunde liegenden Prozesse, die all diese Erfahrungen ermöglichen, sind jedoch nicht dieselben.
Was ist der Unterschied?
Es gibt ein weit verbreitetes Missverständnis, dass eine PWA fast immer eine SPA ist, was einfach falsch ist. Aus den obigen PWA-Anforderungen können Sie ersehen, dass nirgendwo angegeben ist, dass der Inhalt der Website im Browser gerendert werden muss oder dass eine PWA keine vom Server gerenderten Seiten anfordern sollte.
Eine PWA ist, einfach ausgedrückt, eine Website, die die besten Eigenschaften hat, die das Web zu bieten hat. Es ist zuverlässig, schnell und ansprechend.
Und da PWA Service Worker erfordert, die in einem separaten Thread von der Benutzeroberfläche ausgeführt werden, unterscheiden sich PWAs dahingehend, dass ihre Inhalte immer nahezu sofort angezeigt werden, im Gegensatz zu SPAs, die fast immer einen bestimmten anfänglichen Ladebildschirm zum Vorabrufen der Sites begleiten. Vermögenswerte. Dies bedeutet, dass der größte Teil, wenn nicht der gesamte JavaScript-Overhead, den das SPA-JavaScript-Framework für Ihre Web-Apps verursacht, stattdessen dem Servicemitarbeiter zugewiesen werden kann.


Offensichtlich sind die Unterschiede zwischen diesen beiden nicht nur das, es gibt noch viel mehr zu analysieren:
In Sachen Geschwindigkeit
In Bezug auf die Geschwindigkeit sind sich diese beiden Architekturen ziemlich ähnlich, da sie beide auf dem neuesten Stand der Technik sind. Die Oberhand könnte hier jedoch PWA gehen.
Der Grund dafür ist, dass, während sowohl SPAs als auch PWAs JavaScript für ihre Entwicklungen verwenden, PWA in der Lage ist, seine Servicemitarbeiter zu nutzen, um einige der Arbeiten zu rendern. Mit anderen Worten, ein Großteil des übermäßigen JavaScript-Overheads, den SPAs zu Ihren Webanwendungen hinzufügen, kann stattdessen an die Servicemitarbeiter delegiert werden, wodurch der JavaScript-Fußabdruck erheblich reduziert wird.

Dadurch können PWA-Sites viele Site-Assets vorab zwischenspeichern: Skripts, CSS, Bilder und Markup, bevor sie benötigt werden. Dank dieser Pre-Caches wird das Netzwerk des Anwenders von zusätzlichem Stress beim Rendern entlastet und kann offline arbeiten.
In Bezug auf die Kosten
Hier verliert PWA gegen SPA. PWA verfügt über modernste Technologie und ist daher mit zusätzlichen Kosten verbunden. Ganz zu schweigen davon, dass die Entwicklung von PWAs oft Wochen oder sogar Monate dauert, da es im Vergleich zu SPAs kein so rationalisierter Prozess ist.
PWAs : $2000 – $20.000
SPAs : $1500 – $12.000
Es spielen viele Faktoren eine Rolle, die Ihre Baukosten beeinflussen, wie z. B. die Rate Ihres Entwicklers, die Komplexität des Auftrags, Ihre Vorlieben und Anpassungen … die alle bei der Erstellung einer Kostenschätzung berücksichtigt werden sollten.
Leseempfehlung: Wie viel kostet der Aufbau einer Magento PWA?
In Bezug auf Benutzererfahrung/Benutzeroberfläche
Während SPAs in der Vergangenheit ihren Platz hatten, beginnen die Leute, auf PWAs umzusteigen, da sie eine bessere Benutzererfahrung (UX) bieten.
Beide verfügen über eine App-ähnliche Benutzeroberfläche und bringen mehr Engagement und Zuverlässigkeit auch bei Offline- oder langsamen Verbindungsbedingungen. Aus diesen Gründen haben einflussreiche Marken wie Twitter die PWA-Bewegung initiiert, indem sie ihre eigene PWA-Version ihrer Website veröffentlicht haben, nämlich Twitter Lite.

Und es ist nicht nur Twitter. Es wird erwartet, dass die PWA-Bewegung hier bleibt; Außerdem scheint die Bewegung mit der jüngsten Teilnahme von Spotify keine Anzeichen einer baldigen Verlangsamung zu zeigen.

Die Einzelseitenanwendung hat ihre Grenze darin, dass sie auf großen Websites keine zufriedenstellende UX liefern kann, weshalb sie am besten für Websites funktioniert, die datenorientiert und nicht unbedingt visuell beeindruckend sind, wie Gmail und Facebook.

In Sachen Sicherheit
Sicherheit ist ein heikles Thema. Während sowohl PWA als auch SPA JavaScript als ihre Hauptbibliothek für Entwicklungen verwenden, unterscheiden sich ihre Sicherheitsprobleme stark, wobei die meisten von SPA und seinem XSS-Problem (Cross-Site-Scripting) stammen.
Bei PWA werden viel weniger Bedenken hinsichtlich der Sicherheit geäußert, da es in der Natur von Progressive Web Apps liegt, dass alle Verbindungen über einen sicheren HTTPS-Ursprung gehen müssen. Wie PWAs ist auch HTTPS die Zukunft des Webs, durch das bahnbrechende Features wie Service Worker zugänglich und möglich gemacht werden.
In Sachen Barrierefreiheit
Im Vergleich zu SPAs sind PWAs im Allgemeinen besser zugänglich, insbesondere mit der jüngsten Chrome-Unterstützung für Desktop-PWA. Benutzer, die mit PWAs interagieren, können die Option haben, eine Verknüpfung der App, die sie verwenden, zu ihrem Homescreen oder ihrem Desktop hinzuzufügen.

SPAs sind eigentlich schrecklich , wenn es um Zugänglichkeit geht, da sie dazu neigen, ihren Benutzer jedes Mal, wenn ein Seitenwechsel ausgeführt wird, mitten im Nirgendwo zurückzulassen. Dies ist besonders frustrierend für Benutzer mit Behinderungen, da kein Arie- oder Rollenattribut ihnen helfen kann, wenn die Seite ständig ihre DOM-Struktur (Document Object Model) vollständig ändert.
Einpacken
So revolutionär SPAs auch gewesen sein mögen, die Zeit scheint sie langsam eingeholt zu haben. Obwohl SPAs und PWAs ein und dasselbe sind, entscheiden sich immer mehr Menschen für PWAs gegenüber SPAs, und das ist angesichts der Vorteile, die PWAs mit sich bringen, verständlich.
Mit SimiCart bieten wir die beste PWA-Lösung für Magento-Händler.