PWA vs Electron: un'immersione profonda
Pubblicato: 2020-05-20Sommario
Sembra che al giorno d'oggi ci siano troppe nuove tecnologie sul campo perché possiamo tenerne traccia. Proprio di recente stiamo assistendo all'emergere di Electron.js che è una piattaforma di alimentazione dietro un numero non così piccolo di app popolari che utilizziamo ogni giorno, e poi c'è anche l'app Web progressiva che dovrebbe essere un nuovo modo per siti Web per offrire ai clienti esperienze coinvolgenti e di prim'ordine senza sacrificare le prestazioni lungo il percorso.
Per aiutarti a tenere traccia di tutte queste nuove tecnologie, oggi nell'articolo di SimiCart confronteremo tra le due: Electron e PWA, nel modo più completo.
Cos'è la PWA?
Le PWA sembrano essere tutte le migliori in questi giorni, poiché è una tecnologia supportata da Google stesso e ha tutta l'attenzione dei grandi come Microsoft con il loro piano ambizioso di rendere Microsoft Store pieno di PWA. Il motivo per cui è così popolare è che la stessa PWA è la cosa migliore che provenga dal Web da anni: il suo track record parla da sé.
Per dirla semplicemente, le Progressive Web App sono siti Web che sembrano e si sentono come un'app. La tecnologia è un mix delle migliori funzionalità sia del Web che delle applicazioni native, il che significa che gli utenti che utilizzano PWA possono beneficiare di tutte le funzionalità precedentemente esclusive delle app native come le notifiche push, la geolocalizzazione e altro ancora.

Cos'è l'elettrone?
Rispetto a PWA, Electron è simile in molti modi in quanto utilizza anche le tecnologie del Web, ad esempio HTML, CSS, JavaScript, per affrontare al meglio la sfida multipiattaforma. Tuttavia, a differenza di PWA, le app basate su Electron possono essere trasformate in applicazioni desktop completamente funzionali, grazie all'utilizzo delle API native e del motore di rendering di Chromium . In effetti, è così funzionale che spesso è indistinguibile dalle applicazioni desktop native e potresti averne trovato una senza sapere che è basata su Electron, ad esempio, alcune delle tue applicazioni essenziali sono probabilmente basate su Electron, tra cui Skype, Slack, Discord e codice di Visual Studio.

Electron non suona semplicemente meglio?
Bene, quando la metti in questo modo... in un certo senso lo fa; ma no, è più sfumato di così. C'è un motivo per cui stiamo assistendo a un recente rallentamento del numero di app basate su Electron, perché Electron sta mostrando la sua età, soprattutto in un momento in cui gli utenti ora sono più esigenti che mai dell'esperienza omnicanale offerta da PWA .
Quando abbiamo chiesto input a sviluppatori esperti di Electron e PWA, abbiamo notato i seguenti schemi:
- Disponibilità : poiché le app basate su Electron sono praticamente una versione ibrida delle applicazioni desktop e non possono essere installate affatto su dispositivi mobili, PWA ha il sopravvento di essere disponibile su quasi tutti i dispositivi che dispongono di un browser compatibile con PWA.
- Prestazioni : un'app basata su Electron, se eseguita correttamente, dovrebbe essere veloce e leggera come un'applicazione di testo, ma non è la migliore prestazione che puoi ottenere. Un noto vantaggio di PWA è che puoi ottenere prestazioni migliori (rispetto a Electron) al primo caricamento e tempi di caricamento quasi istantanei su ulteriori carichi poiché tutto viene memorizzato nella cache al volo e gran parte dell'overhead JavaScript può invece essere spostato sul lavoratori del servizio che è parte integrante di PWA.
- Aggiornamento : come tutti sappiamo, l'aggiornamento (e la distribuzione in generale) è una seccatura importante per le applicazioni native di qualsiasi tipo e Electron non fa eccezione. Questo può essere evitato optando per l'approccio PWA con il quale l'intero processo di aggiornamento può avvenire sul lato server, sollevando così i tuoi clienti dal processo di installazione degli aggiornamenti.
- Dimensioni : Electron, sebbene pesi meno della tipica applicazione desktop, è comunque notevolmente più pesante di PWA. È difficile trovare un'app Electron che pesi meno di 50 MB, mentre la maggior parte delle PWA è inferiore a un megabyte.
- Sicurezza : PWA è semplicemente migliore quando si tratta di sicurezza poiché si basa interamente su connessioni sicure (HTTPS) mantenute dal lato browser, mentre Electron, essendo un'applicazione Web racchiusa in un contenitore di app nativo, deve fare tutto manualmente da solo.
Perché PWA sta diventando sempre più popolare
Ecco la verità, Electron è una tecnologia obsoleta. Nonostante sia attualmente utilizzato da un ampio numero di applicazioni desktop, molte di queste hanno già in programma di convertire le proprie app desktop basate su Electron esistenti in PWA. Sì, puoi convertire un'app basata su Electron in una PWA, anche se non sarà un processo così fluido rispetto al processo di conversione da PWA a Electron, ma è possibile.

Elettrone senza tutti i suoi difetti
Si può dire che le Progressive Web Apps siano una tecnologia migliore, potenzialmente più in evoluzione in quanto risolve i problemi fondamentali di Electron - compatibilità e facilità di distribuzione - pur rimanendo funzionali e coinvolgenti per l'esperienza dell'utente. Ciò è dovuto al fatto che i browser oggi stanno diventando il proprio sistema operativo universale con tutte le funzionalità che potresti desiderare e, come effetto collaterale di ciò, le tecnologie che si basano e funzionano sul Web come PWA migliorano solo con il tempo .
Vedi altro: Desktop PWA - Il futuro della fornitura di software PWA per Magento 2
Omnicanale
Quando si tratta dell'esperienza omnicanale, PWA eccelle in ogni modo immaginabile poiché è specificamente progettato per l'esperienza multi-dispositivo reattiva. A seconda del tipo di attività coinvolta, PWA può essere il punto di riferimento per le aziende che desiderano che l'esperienza utente sia la stessa su tutti i dispositivi, mentre con Electron JS dovresti sviluppare basi di codice diverse per piattaforme diverse, aumentando così il costo di sviluppo.
Quando scegliere Electron
Pur avendo i suoi vantaggi, PWA non può essere una soluzione onnicomprensiva per tutti i modelli di business, ed è qui che Electron trova la sua nicchia. Le app basate su Electron in genere non incontrano il normale vincolo del browser e sono libere di svilupparsi in base alla funzionalità Node.js, con cui Electron può avere accesso a tutte le API native del sistema operativo. Ciò significa che le app basate su Electron funzionano sempre in modalità utente, garantendo in modo efficace un ambiente operativo sicuro e stabile per l'utente.
Come regola pratica all'interno della comunità di Electron, non è mai una buona idea usare Electron per quello che può essere solo un sito web . Quindi, se pensi che la tua app rientri nella piccola minoranza di casi in cui hai bisogno della libertà e delle funzionalità extra delle applicazioni native, scegli Electron; ma in ogni altro caso una PWA è più che sufficiente.
Parole avvolgenti
Il Web con le sue tecnologie sta recuperando terreno rapidamente e, combinato con il movimento dei grandi marchi per portare avanti l'adozione di PWA, non dovrebbe sorprenderti vedere più PWA in futuro. Tuttavia, questo non vuol dire nemmeno che Electron sia sul letto di morte, dal momento che la tecnologia è, ancora, abbastanza funzionale e dovrebbe essere qui per un po'; ma se sei uno di quelli che stanno prendendo in considerazione tra i due, PWA è una scelta banale poiché la tecnologia è ancora relativamente fresca e il supporto è destinato a salire alle stelle nel prossimo futuro.
Leggi di più:
PWA vs Flutter: un confronto dettagliato
Tutto quello che devi sapere sulle app Web progressive
Applicazioni Web progressive: 12 esempi da marchi reali per la tua ispirazione
Magento PWA Studio: un confronto dettagliato con Vue Storefront