PWA vs SPA: La fel, dar diferit

Publicat: 2019-09-18

Cuprins

Atractia site-urilor web standard începe să-și piardă din farmec, cedându-și locul aplicațiilor web. Pe zi ce trece, aplicațiile web devin din ce în ce mai populare datorită experienței sale captivante și uimitor de rapidă.

Majoritatea acestui succes tehnologic poate fi obținut doar prin implementarea anumitor arhitecturi în structura site-ului dvs., asigurând stabilitatea, performanța și implicarea site-ului dvs.

Două abordări populare pentru structurarea aplicației dvs. web chiar acum sunt PWA-urile și SPA-urile. Spre concepția comună cu privire la aceste două abordări, ele nu sunt la fel. Acest lucru este esențial , deoarece diferențele lor trecute cu vederea duc adesea la greșeli costisitoare și la pierderea oportunităților; cu siguranță tu – probabil un proprietar de site pentru care fiecare milisecundă contează – nu vrei ca aplicația ta web să rămână în urmă cu restul lumii.

Cum funcționează?

Aplicații cu o singură pagină (SPA)

SPA (Single Page Application) este un site web a cărui pagină curentă este actualizată dinamic , mai degrabă decât să fie descărcată în întregime de pe un server. Cu alte cuvinte, tot codul de aplicație necesar pentru aplicația dvs. web (HTML, CSS, JavaScript) trebuie încărcat o singură dată . Pe măsură ce utilizatorul navighează prin aplicația web, toate conținuturile și elementele care necesită actualizare sunt preluate și redate din nou fără a fi necesar ca utilizatorul să reîncarce browserul.

Acest lucru salvează călătoria tradițională dus-întors între browser și server, permitând astfel interacțiuni mai rapide și o mai bună satisfacție a utilizatorului.

Cum funcționează SPA
Cum funcționează SPA

Probabil că folosești SPA tot timpul fără să-ți dai seama. Observați cum majoritatea site-urilor de social media se simt cam la fel? Se datorează faptului că toți folosesc SPA-uri pentru a eficientiza experiența utilizatorului și pentru a crea un flux continuu de actualizare a știrilor.

Iată câteva dintre SPA-urile notabile pe care probabil le utilizați în mod regulat:

  • Facebook
  • Gmail
  • Linkedin
  • Netflix
  • Hărți Google

Aplicații web progresive (PWA)

Spre deosebire de SPA, Progressive Web App (PWA) este mai mult ca un set de linii directoare și liste de verificare decât o arhitectură specifică. PWA-urile sunt cunoscute și se abate de la SPA-uri prin mai multe caracteristici, cum ar fi:

  • Lucrătorii de service: lucrătorii de service oferă baza tehnică pentru multe dintre caracteristicile proeminente ale PWA, și anume disponibilitatea offline și notificările push.
  • Web App Manifest: un fișier JSON care conține metadatele necesare pentru PWA. Manifestele aplicațiilor web pot fi generate automat folosind generatorul de manifeste PWA.
  • HTTPS: PWA-urile sunt întotdeauna servite dintr-o origine sigură.
Cum funcționează PWA
Cum funcționează PWA

Lucrătorii de servicii acționează ca un proxy între browser și rețea și sunt responsabili pentru stocarea în cache a activelor site-ului web și interceptarea solicitărilor de rețea, ceea ce duce la disponibilitatea offline a site-ului web și la diverse alte caracteristici, inclusiv notificările push.

Lucrătorii de servicii ajută enorm și în fundal. Pe lângă faptul că oferă capabilități offline, aceștia sunt, de asemenea, responsabili pentru o mare parte din calculele grele, care este principalul motiv pentru care majoritatea site-urilor web PWA sunt atât de eficiente și de încărcare rapidă.

Am scris un ghid aprofundat despre ce este Progressive Web App. Deci nu poți rata!

Cum se aseamănă?

Fiind atât tehnologii noi, cât și revoluționare, aceste două arhitecturi oferă utilizatorului o experiență captivantă, similară unei aplicații, care este foarte diferită de site-urile web tradiționale. La prima vedere, pot fi ușor confundați unul cu altul; procesele care stau la baza care fac toate aceste experiențe posibile, totuși, nu sunt aceleași.

Care este diferența?

Există o concepție greșită că un PWA este aproape întotdeauna un SPA, ceea ce este pur și simplu greșit. Din cerințele PWA de mai sus, puteți vedea că nicăieri nu precizează că conținutul site-ului său trebuie redat în browser sau un PWA nu ar trebui să solicite pagini randate pe server.

Un PWA este, pur și simplu, un site web care are toate cele mai bune calități pe care Web-ul le are de oferit. Este fiabil, rapid și captivant.

Și, deoarece PWA necesită lucrători de service care rulează într-un fir separat de UI, PWA diferă în așa fel încât conținutul lor este întotdeauna afișat aproape instantaneu , spre deosebire de SPA-urile care aproape întotdeauna însoțesc un ecran de încărcare inițial specific pentru preluarea prealabilă a site-urilor. active. Aceasta înseamnă că cea mai mare parte, dacă nu toată suprasarcina JavaScript abundentă pe care cadrul JavaScript SPA o plasează în aplicațiile dvs. web poate fi, în schimb, realocată lucrătorului de servicii.

Ecran de încărcare Gmail
Utilizatorii SPA trebuie să fie familiarizați cu pagina de încărcare inițială

Evident, diferențele dintre acestea două nu sunt doar atât, mai sunt multe de disecat:

În ceea ce privește Viteza

În ceea ce privește viteza, aceste două arhitecturi sunt destul de similare, deoarece ambele sunt tehnologie de ultimă oră. Cu toate acestea, partea superioară ar putea merge la PWA aici.

Motivul pentru aceasta este că, în timp ce atât SPA-urile, cât și PWA-urile folosesc JavaScript pentru dezvoltarea lor, PWA este capabilă să-și folosească lucrătorii de servicii pentru a realiza unele dintre lucrări. Cu alte cuvinte, o mare parte din supraîncărcarea JavaScript excesivă pe care SPA-urile o adaugă aplicațiilor dvs. web poate fi în schimb delegată lucrătorilor de servicii, reducând astfel foarte mult amprenta JavaScript.

Experimentele PWA în Jetpack

Acest lucru permite site-urilor PWA să pre-memoreze în cache multe active ale site-ului: scripturi, CSS, imagini și markup înainte ca acestea să fie necesare. Datorită acestor pre-cache-uri, rețeaua utilizatorului este scutită de stresurile suplimentare care vin odată cu randarea și poate funcționa offline.

În ceea ce privește Costul

Iată unde PWA pierde în fața SPA. Dispunând de tehnologie de ultimă oră, PWA vine, în consecință, cu un cost suplimentar. Asta ca să nu mai vorbim de faptul că dezvoltarea PWA durează adesea săptămâni sau chiar luni la un moment dat, deoarece nu este un proces la fel de simplificat în comparație cu SPA.

PWA : 2000 USD – 20.000 USD

SPA -uri: 1500 USD – 12.000 USD

Există mulți factori care afectează costurile de construcție, cum ar fi rata dezvoltatorului, complexitatea lucrării, preferințele și personalizările dvs.... toate acestea ar trebui să fie luate în considerare atunci când faceți o estimare a costurilor.

 Lectură recomandată: Cât costă construirea unui PWA Magento?

În ceea ce privește experiența utilizatorului/interfața utilizatorului

În timp ce SPA-urile își aveau locul în trecut, oamenii încep să se transforme în PWA, deoarece oferă o experiență de utilizator (UX) mai bună.

Ambele având o interfață asemănătoare aplicației, PWA aduce mai multă implicare și fiabilitate chiar și în condiții de conexiune offline sau lentă. Din aceste motive, mărcile influente precum Twitter au inițiat mișcarea PWA prin lansarea propriei versiuni PWA a site-ului lor, care este Twitter Lite.

Statistici PWA Twitter
Sursa: PWAstats

Și nu este doar Twitter. Mișcarea PWA este de așteptat să fie aici pentru a rămâne; plus, cu participarea recentă a Spotify, mișcarea nu pare să dea niciun semn de încetinire în curând.

Interfața de utilizare pentru desktop Spotify PWA
Interfața de utilizare atrăgătoare a Spotify PWA

Aplicația cu o singură pagină are limita de a nu putea oferi UX satisfăcător pe site-uri mari, motiv pentru care funcționează cel mai bine pentru site-uri care sunt orientate spre date și nu neapărat uimitoare vizual, cum ar fi Gmail și Facebook.

Interfața de utilizare Gmail
Interfața de utilizare Gmail

În ceea ce privește Securitatea

Securitatea este un subiect delicat. În timp ce atât PWA, cât și SPA folosesc JavaScript ca bibliotecă principală pentru dezvoltări, problemele lor privind securitatea diferă foarte mult, dintre care majoritatea provin de la SPA și problema sa XSS (cross-site scripting).

Mult mai puține preocupări cu privire la securitate sunt ridicate la PWA, deoarece este în natura Progressive Web App ca toate conexiunile să treacă printr-o origine HTTPS sigură. La fel ca PWA, HTTPS este și viitorul Web-urilor, prin care funcțiile de ultimă oră, cum ar fi lucrătorii de servicii, sunt accesibile și posibile.

În ceea ce privește accesibilitatea

În comparație cu SPA-urile, PWA-urile sunt în general mai accesibile, în special cu compatibilitatea recentă Chrome pentru Desktop PWA. Utilizatorii care interacționează cu PWA pot avea opțiunea de a adăuga o comandă rapidă a aplicației pe care o folosesc pe ecranul de pornire sau pe desktop.

Pictograma PWA Twitter de pe desktop
Pictograma PWA Twitter de pe desktop

SPA-urile sunt de fapt îngrozitoare când vine vorba de accesibilitate, deoarece are tendința de a-și lăsa utilizatorul în mijlocul nimicului de fiecare dată când se execută o tranziție de pagină. Acest lucru este deosebit de frustrant pentru utilizatorii cu dizabilități, deoarece nicio arie sau atribut de rol nu îi va putea ajuta dacă pagina continuă să își schimbe complet structura DOM (Document Object Model).

Încheierea

Oricât de revoluționare ar fi fost SPA-urile, timpul pare să fi ajuns încet din urmă. În timp ce SPA-urile și PWA-urile sunt cam la fel, din ce în ce mai mulți oameni aleg PWA-urile în locul SPA-urilor și asta este de înțeles, având în vedere beneficiile pe care le aduc PWA-urile.

Cu SimiCart, oferim cea mai bună soluție PWA pentru comercianții Magento.

Tema gratuită Magento PWA