
Hai notato che molte nuove applicazioni desktop assomigliano molto ai siti Web? Non è la tua immaginazione.
Da Trello a Slack, da WordPress.com a Github, è sempre più comune per le cosiddette applicazioni desktop raggruppare un sito Web con alcune funzionalità native come notifiche, accesso al file system e menu. La tecnologia più comune che lo abilita si chiama Electron ed è utilizzata da alcune applicazioni che potresti non sospettare, come l'applicazione di chat Discord e il codice Visual Studio di Microsoft.
Electron rende facile per gli sviluppatori rilasciare un'app contemporaneamente su Windows, macOS e Linux, ma ci sono aspetti negativi per gli utenti. Le applicazioni elettroniche sono enormi, per prima cosa. Slack, un'applicazione di chat, occupa 237 MB di spazio sul disco rigido sul mio Mac e nemmeno il consumo di memoria è basso. Cosa sta prendendo tutte quelle risorse? E perché gli sviluppatori usano qualcosa di così inefficiente?
Le app Electron sono abbastanza facili da realizzare

Le applicazioni desktop sono difficili da realizzare, soprattutto se si desidera che siano multipiattaforma. L'accesso al file system funziona in modo diverso in Windows rispetto a Linux, ad esempio, e le notifiche funzionano in modo diverso su macOS rispetto a Windows. Ciò significa che chiunque desideri scrivere un'applicazione per tutti e tre i sistemi operativi desktop (o anche solo due) deve riscrivere molto del proprio codice quando si effettua il porting da uno all'altro.
(Embed) https://www.youtube.com/watch?v=8YP_nOCO-4Q (/ embed)
Electron “risolve” ciò offrendo un'unica piattaforma che funziona su tutti e tre i principali sistemi operativi desktop. Ciò significa che gli sviluppatori possono scrivere il codice per cose come le notifiche una volta e si aspettano che funzioni nativamente su ogni sistema operativo. Ancora meglio per gli sviluppatori: tutto può essere costruito utilizzando Javascript, HTML e CSS: le tecnologie a cui chiunque ha familiarità con i codici per il Web.
Le app Electron sono fornite con quasi tutto il cromo
Com'è possibile? In parte perché ogni app Electron raggruppa un browser web completo: Chromium, la versione open source di Google Chrome. Questo è in bundle con le istruzioni specifiche della piattaforma al fine di garantire che tutto si comporti esattamente come gli sviluppatori si aspettano su tutti i sistemi. Ecco perché la versione desktop di Slack occupa oltre 200 MB di spazio sul disco rigido: la maggior parte di Chrome è inclusa.

Ogni app Electron che esegui è più o meno un'istanza completa di Chrome. Come ha sottolineato il blogger Joseph Gentle, questo non è certo l'ideale:
Puoi pensare a Slack come un piccolo programma javascript in esecuzione all'interno di un altro sistema operativo VM (chrome), che devi eseguire per essenzialmente chattare su IRC. Anche se hai il vero chrome aperto, ogni app di elettroni esegue la propria copia aggiuntiva dell'intera VM.
Quindi sì, ci sono aspetti negativi per gli utenti. Prima di tutto, ogni singola applicazione Electron che scarichi raggruppa la maggior parte di Chromium e ogni applicazione che esegui esegue una buona parte di quel codice. Non esiste alcuna condivisione di risorse qui come avviene con le applicazioni native, il che significa che le app Electron occuperanno più spazio sul disco rigido e memoria rispetto a un'applicazione sviluppata appositamente per la tua piattaforma. Se le prestazioni sono qualcosa a cui tieni davvero, potresti voler evitare le applicazioni Electron.
Aspetta, allora Electron è buono o cattivo?

A questo punto, i computer sono così potenti che la maggior parte degli utenti non noterà nemmeno quanto siano inefficienti le applicazioni Electron. In effetti, la stragrande maggioranza non ha mai nemmeno sentito parlare di Electron. La maggior parte dei miei collaboratori non lo aveva fatto e tutti usano Slack ogni giorno. Molti erano entusiasti di vedere uscire una versione desktop di Trello e di nuovo non avevano idea che fosse un'app Electron.
E queste app si integrano davvero meglio con il tuo sistema operativo meglio dei siti web. Vivono nella propria finestra. Offrono ottime scorciatoie da tastiera, notifiche native e altre cose che non puoi fare allo stesso modo con un solo browser.
Ed è una buona scommessa che applicazioni come Slack, Trello e WordPress.com non si preoccuperebbero di offrire una versione desktop se Electron non esistesse, concentrandosi invece su versioni mobili e browser. Quindi la domanda non è se Electron sia cattivo; è se le applicazioni Electron sono meglio di niente. Sono disposto a dire di sì, ma le persone ragionevoli non sono d'accordo. (Ehi, per quelle persone, c'è sempre la versione web.)
