NW.JS vs. Electron: quali sono le differenze tra i due?

0
3
NW.JS vs. Electron: quali sono le differenze tra i due?

inizi a esaminare Electron, è probabile che tu abbia visto qualcosa su NW.js o Node-WebKit. Entrambi usano il motore Chromium sotto il cofano, ma ci sono alcune differenze significative tra

NW.js ed Electron.

Pertanto, se stai cercando di capire quale sia la scelta migliore per la tua prossima app desktop, continua a leggere. Ecco un confronto testa a testa di NW.js ed Electron per vedere come si accumulano l’uno contro l’altro.

Cominciamo con le informazioni di base su entrambi i progetti.

NW.js vs. Electron: cos’è NW.js?

NW.js, precedentemente noto come Node-WebKit, è un progetto avviato all’inizio del 2011 da uno sviluppatore indipendente di nome Ariya Hidayat dopo aver lasciato Intel, dove ha lavorato al Node-Webkit originale.

Utilizza il motore JavaScript Chromium e V8 e può essere eseguito su Mac, Windows e Linux.

Uno degli obiettivi originali di NW.js era quello di fungere da wrapper per i contenuti Web in modo che gli sviluppatori potessero creare facilmente app desktop con la moderna tecnologia Web. Supportava anche i moduli Node.js immediatamente disponibili, rendendolo una scelta popolare per Sviluppatori Node.js.

NW.js vs. Electron: cos’è Electron?

Electron è un progetto avviato da GitHub (attraverso Atom IDE) e inizialmente chiamato atom-shell. È stato introdotto a metà del 2013 con l’editor Atom di nuova generazione come una delle sue applicazioni principali, che fungeva da alternativa open source a soluzioni native proprietarie come XCode di Apple.

La piattaforma elettronica ha attirato rapidamente molta attenzione e, a marzo 2016, aveva più di 1.000 contributori su GitHub. Inoltre, uno degli obiettivi principali di Electron è quello di fornire una piattaforma di sviluppo per la creazione di app desktop con tecnologia web.

Riassumiamo queste informazioni di base in una tabella (NW.js vs Electron):

NW.JS elettrone
Stelle di Github 38.6k 99,5k
forchette 3.9k 13.1k
Data di creazione 2011 2013
Ultimo aggiornamento 2021 NW.js v0.59.1 2021 Elettrone v16.0.5
Linguaggio quadro C++ C++, JS, Objective-C, Python
Lingua di utilizzo – Indietro JS, C++ JS, C++
Linguaggio d’uso – Fronte HTML, CSS, JS HTML, CSS, JS
Motore Webkit, cromo Cromo
supporto del modulo npm/filato
Dipendenze degli utenti Nessuno Nessuno
Dipendenze degli sviluppatori Node.js, NW.JS SDK Node.js, Pacchetto Electron NPM
Licenza MIT MIT

Ora che sappiamo un po’ di ogni progetto, diamo un’occhiata ad alcune delle differenze principali.

NW.js vs. Electron: differenze chiave

NW.js vs. Electron: sviluppo

Una delle differenze più significative tra NW.js ed Electron è lo sviluppo. Con NW.js, puoi utilizzare i moduli Node.js direttamente nella tua app senza alcun lavoro aggiuntivo. Inoltre, questo lo rende una scelta popolare per gli sviluppatori web che cercano di creare app con moderne tecnologie web.

D’altra parte, Electron utilizza Node.js principalmente per la sua API e richiede agli sviluppatori di scrivere tutto il codice GUI in JavaScript o HTML/CSS. Le app scritte con Electron richiedono il processo principale che esegue l’app e un processo di rendering che viene caricato all’avvio dell’app. Questo può essere più complicato di NW.js, causando alcuni problemi di prestazioni. Pertanto, possiamo assegnare un tag vincitore per questa categoria al NW.js.

Vincitore: NW.js

NW.js vs. Electron: runtime

Un’altra differenza significativa tra i due progetti è nei loro ambienti di runtime. NW.js utilizza Chromium e un motore V8 come Node-WebKit inizialmente. Ciò significa che ottieni tutte le stesse funzionalità fornite con Chromium, ad esempio il supporto per HTML5, CSS3 e WebGL.

D’altra parte, Electron utilizza la propria build Chromium personalizzata chiamata “Desktop Chromium”. Fornisce le stesse funzionalità del normale Chromium ma aggiunge funzionalità extra specifiche per la piattaforma Electron.

Vincitore: pareggio

NW.js vs. Electron: caratteristiche

Il numero di funzioni supportate varia in modo significativo. Electron ha una base di utenti più ampia, più app di produzione e un gran numero di moduli userland disponibili su npm.

Electron, ad esempio, include il supporto integrato per gli aggiornamenti automatici e una miriade di strumenti che semplificano la creazione di programmi di installazione. NW.js, ad esempio, supporta più API Chrome.* per lo sviluppo di app Chrome.

Vincitore: Electron

NW.js vs. Electron: popolarità

A maggio 2021, NW.js ha oltre 38.000 stelle su GitHub, mentre Electron ha oltre 95.000 stelle.

Inoltre, Electron ha anche una comunità più attiva e ci sono più del doppio dei contributori su GitHub. Inoltre, Electron supporta un’ampia gamma di framework Web, librerie, API a livello hardware e il motore Chrome, oltre a Node.js.

La funzione Electron Fiddle consente agli sviluppatori di giocare con concetti e modelli, il che è fantastico per la sperimentazione. Electron è incentrato sulla semplificazione poiché elimina la necessità per gli sviluppatori di perdere tempo con l’imballaggio.

Vincitore: Electron

NW.js vs. Electron: prestazioni

Il motore Chromium utilizzato da NW.js ha un vantaggio significativo rispetto a Electron, almeno su alcuni dispositivi. Questo perché il motore JavaScript V8 utilizzato da Chromium è più veloce della sua controparte in Electron. Ad esempio, il V8 utilizzato in NW.js funziona due volte più velocemente su alcune architetture di CPU, portando a un significativo miglioramento delle prestazioni.

Inoltre, il consumo di memoria di Electron è superiore a quello di NW.js. Per questo motivo, anche NW.js ha prestazioni di sistema migliori.

Vincitore: NW.js

NW.js vs. Electron: voce dell’applicazione

Il punto di ingresso principale di un’applicazione in NW.js può essere una pagina Web HTML. NW.js aprirà quindi il punto di ingresso specificato in una finestra del browser.

Il punto di ingresso in Electron è sempre uno script JavaScript. Invece di fornire direttamente un URL, utilizzi l’API per aprire una finestra del browser e caricare un file HTML. È inoltre necessario ascoltare gli eventi della finestra per sapere quando chiudere l’applicazione.

Electron è più simile al runtime di Node.js. Poiché le API di Electron sono di livello inferiore, puoi utilizzarlo al posto di PhantomJS per il test del browser.

Vincitore: Electron

NW.js vs. Electron: supporto

NW.js ha caratteristiche native migliori come il file system e le connessioni di rete. Questo perché utilizza le stesse API utilizzate da Node.js. D’altra parte, Electron si basa su una libreria chiamata “Node-WebKit-Bridge” per fornire queste funzionalità. Il bridge node-WebKit è meno affidabile di WebKit e può essere difficile da usare in alcune situazioni.

Vincitore: NW.js

NW.js vs. Electron: sostenere i progetti

Electron è sponsorizzato da GitHub, il che significa che riceve più attenzione dal momento che stanno pagando gli sviluppatori per lavorarci. Inoltre, questo può essere sia un bene che un male a seconda delle tue preferenze.

Una fondazione indipendente che sostiene NW js gli conferisce maggiore indipendenza dai suoi sponsor, controllando il progetto. Questo potrebbe essere negativo per alcuni utenti che preferiscono un processo di sviluppo più centralizzato.

Vincitore: Electron

NW.js vs. Electron: applicazioni che utilizzano queste tecnologie

Finora, la maggior parte delle applicazioni create con NW.js ed Electron sono piccole utility o strumenti. Tuttavia, un numero crescente di applicazioni più significative viene costruito con queste tecnologie. Alcuni dei app e aziende che utilizzano NW.js sono:

Alcuni esempi degni di nota per Electron includono Slack, Atom, Microsoft Teams e Visual Studio Code. Queste applicazioni variano per dimensioni e complessità, ma condividono tutte una cosa: sono state tutte realizzate con moderne tecnologie web.

Vincitore: pareggio

Conclusione

Sia NW.js che Electron sono scelte eccellenti per la creazione di applicazioni desktop con le moderne tecnologie web. Inoltre, entrambi hanno i loro vantaggi e svantaggi, quindi devi decidere quale è giusto per il tuo progetto.

Inoltre, se vuoi un progetto piccolo e semplice, NW.js è probabilmente la scelta migliore. Se stai creando un’applicazione più grande o più complessa, Electron è un’opzione migliore.

Questo è tutto per il nostro confronto NW.js vs Electron. Quale pensi sia meglio NW.js o Electron?; lascia un commento qui sotto e facci sapere cosa ne pensi!

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui