Non molto tempo fa era impossibile costruire un'applicazione desktop con JavaScript. Fortunatamente, questi tempi sono passati, e ora gli sviluppatori JS possono utilizzare le loro conoscenze e competenze di sviluppo web per creare applicazioni desktop con un tocco nativo.
Come al solito, è più facile dirlo che farlo. Durante la nostra ricerca, abbiamo notato che c'è molta confusione su come le applicazioni desktop JavaScript sono davvero costruite e come funzionano. È anche molto difficile trovare gli strumenti giusti da usare in un progetto.
In questo articolo, esaminiamo più da vicino i 5 framework JavaScript più noti per le applicazioni desktop.
Electron
Electron è un framework open-source inizialmente costruito da GitHub per l'editor Atom nel 2013. Questa libreria consente di creare applicazioni desktop GUI con tecnologie web come JavaScript, HTML e CSS.
Le app desktop di Electron si comportano come web app, ma sono in grado di leggere e scrivere dati nel file system del computer. Ci sono molte applicazioni desktop popolari costruite con Electron sul mercato, ad esempio Skype per Linux o Slack. Il vantaggio significativo di questa soluzione è che non c'è bisogno di uno sviluppatore web JavaScript per imparare nuove tecnologie o linguaggi per costruire un'applicazione desktop. L'applicazione Electron di solito riutilizza la logica di business, il design e la struttura generale di una web app. È un ottimo modo per risparmiare tempo e denaro sul fronte del business e dello sviluppo.
Se sei uno sviluppatore JavaScript, dovrai imparare alcune cose relativamente semplici su come funziona Electron e sulle sue API. Probabilmente sarete in grado di configurare la vostra prima applicazione desktop Electron in pochi giorni.
Electron è una tecnologia matura con una comunità in crescita e quindi crea un ottimo ambiente di produzione. Grazie al rendering dell'interfaccia utente del motore Chromium, è possibile accedere a strumenti quali Strumenti di sviluppo e Accesso allo storage.
NW.js
Il prossimo nella nostra lista dei migliori framework JavaScript per applicazioni desktop è NW.js, precedentemente noto come node-webkit. È stato costruito presso l'Open Source Technology Center di Intel combinando il framework Node.js con un motore Chromium (precedentemente noto come Webkit).
Grazie alla combinazione Node.js e Chromium, è possibile creare un'applicazione che non solo carica un sito web locale in una finestra dell'applicazione, ma si connette anche con il sistema operativo tramite API JavaScript. Questa soluzione consente di controllare parametri quali le dimensioni delle finestre, la barra degli strumenti e le voci di menu, nonché di accedere ai file del computer locale.
NW.js dà la libertà di scegliere i framework e le librerie che vuoi usare su un progetto. Consente di richiamare i moduli Node.js direttamente dal DOM, supporta tutte le funzioni del browser, fornisce una protezione sorgente JavaScript ed è disponibile su Linux, Mac OS e Windows.
AppJS
AppJS è uno strumento semplice ma potente che può essere utilizzato per creare app multipiattaforma senza la necessità di imparare nuove lingue. Analogamente alle altre librerie menzionate oggi, si sta bene purché si abbia familiarità con HTML, CSS e JavaScript.
Anche se è il più vecchio framework Node.js-Chromium del trio AppJS, Electron e NW.js, non è così maturo come la sua concorrenza. Poiché ha perso il suo slancio, potrebbe non essere la scelta migliore per i nuovi progetti.
Meteor
Meteor si autoproclama come "il modo più veloce per costruire applicazioni JavaScript", una "piattaforma open source per web, mobile e desktop". Questo framework multipiattaforma scritto in Node.js può essere utilizzato per creare applicazioni web, mobili e desktop.
Anche se non costruisce applicazioni desktop da solo, può essere utilizzato con Cordova o altri strumenti simili per produrli. Utilizza MongoDB, Distributed Data Protocol e un modello di sottoscrizione a pubblicazione per promuovere automaticamente le modifiche senza interferenze da parte degli sviluppatori. Ha sia moduli front-end che back-end, incluse le API, gli strumenti di compilazione, i pacchetti Node.js.
Proton Native
Proton Native è una nuova versione. È stato reso disponibile su GitHub nei primi mesi del 2018. Quello che Proton Native fa per lo sviluppo di applicazioni desktop è simile a quello che ha fatto React Native per mobile
Ciò che lo rende uno dei migliori framework JavaScript per le applicazioni desktop è che consente di gestire lo stato e creare interfacce utente senza soluzione di continuità, mentre lo si fa cross-platform. Funziona in modo molto diverso da Electron, che esegue un browser completo di cromo per gestire una piccola interfaccia grafica. Proton Native, d'altra parte, utilizza strumenti nativi, occupa meno spazio e ha bisogno di meno risorse.
Questa soluzione ha alcuni altri vantaggi: utilizza la stessa sintassi di React Native, funziona con le librerie React incluso Redux ed è compatibile con Node.js.
Per riassumere, i framework JavaScript per le applicazioni desktop possono essere divisi in tre categorie:
Quadri che producono applicazioni desktop in hosting per browser web, basate su Node.js e Cromo (Electron, NW.js, AppJS).
Quadri che devono essere usati con strumenti simili a quelli di Cordova (Meteor).
Quadri che utilizzano componenti autenticamente nativi per costruire un'applicazione desktop (Proton Native).
Sta a voi scegliere, e dipende principalmente dal tipo di progetto che sviluppate.