PWA vs SPA: podobnie, ale inaczej

Opublikowany: 2019-09-18

Spis treści

Atrakcyjność standardowych stron internetowych zaczyna tracić swój urok, ustępując miejsca aplikacjom webowym. Z każdym mijającym dniem aplikacje internetowe stają się coraz bardziej popularne ze względu na ich wciągające i oszałamiająco szybkie działanie.

Większość tego sukcesu technologicznego można osiągnąć tylko poprzez wdrożenie określonych architektur w strukturę witryny, zapewniając jej stabilność, wydajność i zaangażowanie.

Dwoma popularnymi podejściami do strukturyzacji aplikacji sieci Web są obecnie PWA i SPA. Ku powszechnej koncepcji dotyczącej tych dwóch podejść, nie są one takie same. Ma to kluczowe znaczenie , ponieważ ich przeoczone różnice często prowadzą do kosztownych błędów i straconych szans; z pewnością Ty — prawdopodobnie właściciel witryny, dla którego liczy się każda milisekunda — nie chcesz, aby Twoja aplikacja internetowa pozostawała w tyle za resztą świata.

Jak oni pracują?

Aplikacje jednostronicowe (SPA)

SPA (Single Page Application) to witryna, której bieżąca strona jest aktualizowana dynamicznie , a nie jest w całości pobierana z serwera. Innymi słowy, cały niezbędny kod aplikacji internetowej (HTML, CSS, JavaScript) wystarczy załadować tylko raz . Gdy użytkownik porusza się po aplikacji internetowej, wszystkie treści i elementy, które wymagają aktualizacji, są pobierane i ponownie renderowane bez konieczności ponownego ładowania przeglądarki.

Oszczędza to tradycyjną podróż w obie strony między przeglądarką a serwerem, co pozwala na szybszą interakcję i większą satysfakcję użytkownika.

Jak działa SPA
Jak działa SPA

Prawdopodobnie używasz SPA cały czas, nawet nie zdając sobie z tego sprawy. Zauważ, że większość serwisów społecznościowych czuje się podobnie? To dlatego, że wszystkie używają SPA, aby usprawnić środowisko użytkownika i stworzyć ciągły kanał aktualizacji wiadomości.

Oto niektóre z godnych uwagi SPA, z których prawdopodobnie korzystasz regularnie:

  • Facebook
  • Gmail
  • Linkedin
  • Netflix
  • mapy Google

Progresywne aplikacje internetowe (PWA)

W przeciwieństwie do SPA, Progressive Web App (PWA) bardziej przypomina zbiór wytycznych i list kontrolnych niż konkretną architekturę. PWA są znane i różnią się od OSO kilkoma cechami, takimi jak:

  • Service Workers: Service Workers zapewniają techniczną podstawę dla wielu ważnych funkcji PWA, a mianowicie dostępności offline i powiadomień push.
  • Manifest aplikacji internetowej: plik JSON, który zawiera niezbędne metadane dla Twojego PWA. Manifesty aplikacji internetowych mogą być generowane automatycznie za pomocą generatora manifestów PWA.
  • HTTPS: PWA są zawsze obsługiwane z bezpiecznego źródła.
Jak działa PWA
Jak działa PWA

Pracownicy usług działają jako proxy między przeglądarką a siecią i są odpowiedzialni za buforowanie zasobów witryny i przechwytywanie żądań sieciowych, co prowadzi do dostępności witryny w trybie offline i różnych innych funkcji, w tym powiadomień push.

Pracownicy serwisowi pomagają również ogromnie w tle. Oprócz oferowania funkcji offline, są one również odpowiedzialne za większość ciężkich obliczeń, co jest głównym powodem, dla którego większość stron internetowych PWA jest tak wydajna i szybko się ładuje.

Napisaliśmy szczegółowy przewodnik o tym, czym jest progresywna aplikacja internetowa. Więc nie możesz tego przegapić!

Jak są podobni?

Będąc zarówno nowymi, jak i rewolucyjnymi technologiami, te dwie architektury oferują użytkownikom podobne do aplikacji, wciągające wrażenia, które znacznie różnią się od tradycyjnych witryn internetowych. Na pierwszy rzut oka można je łatwo pomylić; procesy leżące u podstaw, które umożliwiają wszystkie te doświadczenia, nie są jednak takie same.

Co za różnica?

Istnieje powszechne błędne przekonanie, że PWA prawie zawsze jest SPA, co jest po prostu błędne. Z powyższych wymagań PWA widać, że nigdzie nie jest napisane, że zawartość witryny musi być renderowana w przeglądarce lub PWA nie powinno żądać stron renderowanych przez serwer.

PWA to po prostu strona internetowa, która ma wszystkie najlepsze cechy , jakie ma do zaoferowania sieć. Jest niezawodny, szybki i wciągający.

A ponieważ PWA wymaga pracowników usług działających w osobnym wątku niż interfejs użytkownika, PWA różnią się w ten sposób, że ich zawartość jest zawsze wyświetlana niemal natychmiast , w przeciwieństwie do SPA, które prawie zawsze towarzyszą określonemu początkowemu ekranowi ładowania w celu wstępnego pobrania witryn. majątek. Oznacza to, że większość, jeśli nie wszystkie, obfite obciążenie JavaScript, które struktura JavaScript w SPA umieszcza w aplikacjach internetowych, może zamiast tego zostać ponownie przydzielone do pracownika usługi.

Ekran ładowania Gmaila
Użytkownicy SPA muszą znać początkową stronę ładowania

Oczywiście różnice między tymi dwoma nie polegają tylko na tym, że jest o wiele więcej do przeanalizowania:

Pod względem szybkości

Jeśli chodzi o szybkość, te dwie architektury są dość podobne, ponieważ obie są najnowocześniejszą technologią. Przewaga może jednak trafić tutaj do PWA.

Powodem tego jest to, że chociaż zarówno SPA, jak i PWA używają JavaScript do swoich projektów, PWA jest w stanie wykorzystać swoich pracowników usług do renderowania niektórych prac. Innymi słowy, wiele nadmiernych narzutów JavaScript, które SPA dodają do aplikacji sieci Web, można zamiast tego przekazać pracownikom usług, co znacznie zmniejsza ślad JavaScript.

Eksperymenty PWA w Jetpack

Dzięki temu witryny PWA mogą wstępnie buforować wiele zasobów witryny: skrypty, CSS, obrazy i znaczniki, zanim będą wymagane. Dzięki tym wstępnym pamięciom podręcznym sieć użytkownika jest odciążona od dodatkowych obciążeń związanych z renderowaniem i może pracować w trybie offline.

Pod względem kosztów

Tutaj PWA przegrywa ze SPA. Dzięki najnowocześniejszej technologii, PWA wiąże się z dodatkowymi kosztami. Nie wspominając o tym, że rozwój PWA często trwa tygodniami, a nawet miesiącami, ponieważ nie jest to tak uproszczony proces, jak w przypadku SPA.

PWA : 2000 USD – 20 000 USD

SPA : 1500 USD – 12.000 USD

Istnieje wiele czynników wpływających na koszty budowy, takie jak stawka dewelopera, złożoność pracy, preferencje i dostosowania… wszystko to należy wziąć pod uwagę podczas szacowania kosztów.

 Zalecana literatura: Ile kosztuje zbudowanie Magento PWA?

Pod względem doświadczenia użytkownika/interfejsu użytkownika

Podczas gdy SPA miały swoje miejsce w przeszłości, ludzie zaczynają przestawiać się na PWA, ponieważ oferują one lepsze User Experience (UX).

Oba posiadają interfejs podobny do aplikacji, PWA zapewnia większe zaangażowanie i niezawodność nawet w trybie offline lub w warunkach wolnego połączenia. Z tych powodów wpływowe marki, takie jak Twitter, zainicjowały ruch PWA, wydając własną wersję PWA swojej witryny, czyli Twitter Lite.

Statystyki PWA na Twitterze
Źródło: PWAstats

I to nie tylko Twitter. Oczekuje się, że ruch PWA pozostanie tutaj; plus przy niedawnym udziale Spotify, ruch nie wydaje się wykazywać żadnych oznak spowolnienia w najbliższym czasie.

Pulpit Spotify PWA UI
Ponętny interfejs użytkownika Spotify PWA

Aplikacja jednostronicowa ma swój limit, polegający na tym, że nie jest w stanie zapewnić satysfakcjonującego UX na dużych witrynach, dlatego najlepiej sprawdza się w przypadku witryn zorientowanych na dane i niekoniecznie oszałamiających wizualnie, takich jak Gmail i Facebook.

Interfejs Gmaila
Interfejs Gmaila

W zakresie bezpieczeństwa

Bezpieczeństwo to delikatny temat. Podczas gdy zarówno PWA, jak i SPA używają JavaScript jako głównej biblioteki do rozwoju, ich problemy dotyczące bezpieczeństwa znacznie się różnią, przy czym większość z nich pochodzi ze SPA i jego problemu XSS (cross-site scripting).

Znacznie mniej obaw dotyczących bezpieczeństwa jest zgłaszanych w PWA, ponieważ w naturze Progressive Web App wszystkie połączenia mają przechodzić przez bezpieczne źródło HTTPS. Podobnie jak PWA, również HTTPS jest przyszłością sieci Web, dzięki której najnowocześniejsze funkcje, takie jak pracownicy usług, są udostępniane i możliwe.

Pod względem dostępności

W porównaniu z SPA, PWA są ogólnie bardziej dostępne, zwłaszcza dzięki niedawnej obsłudze Chrome dla Desktop PWA. Użytkownicy korzystający z aplikacji PWA mogą mieć możliwość dodania skrótu aplikacji, z której korzystają, do swojego ekranu głównego lub pulpitu.

Pulpitowa ikona PWA na Twitterze
Pulpitowa ikona PWA na Twitterze

SPA są w rzeczywistości okropne , jeśli chodzi o dostępność, ponieważ mają tendencję do pozostawiania użytkownika w szczerym polu za każdym razem, gdy wykonywane jest przejście strony. Jest to szczególnie frustrujące dla użytkowników niepełnosprawnych, ponieważ żaden atrybut aria lub role nie będzie w stanie im pomóc, jeśli strona ciągle zmienia całkowicie swoją strukturę DOM (Document Object Model).

Zawijanie

Jakkolwiek rewolucyjne mogły być SPA, wydaje się, że czas powoli go dogonił. Podczas gdy SPA i PWA są tego samego rodzaju, coraz więcej osób wybiera PWA zamiast SPA i jest to zrozumiałe, biorąc pod uwagę korzyści, jakie przynoszą PWA.

Dzięki SimiCart oferujemy najlepsze rozwiązanie PWA dla sprzedawców Magento.

Darmowy motyw Magento PWA