Usando Node.js, possiamo creare facilmente applicazioni web. Ora, grazie a node-webkit, possiamo anche creare app desktop utilizzando una combinazione unica di HTML5 e Node.
La libreria combina il motore WebKit e Node.js in un modo unico. Sia WebKit che Node condividono lo stesso contesto, permettendoti di scrivere il tuo codice come se fosse pensato per essere eseguito in un browser, ma con l'aggiunta di tutte le funzionalità del Node.
L'elenco degli usi è infinito. È possibile creare applicazioni aziendali, editor di testo e immagini, giochi, presentazioni, pannelli di amministrazione, ecc. Basta nominare l'app desktop che si desidera creare e posso assicurarvi che sarà possibile con node-webkit.
In questo tutorial, ti mostrerò come iniziare mostrandoti come creare un semplice editor di testo.
Per prima cosa devi ottenere la biblioteca. Scarica la versione appropriata per il tuo sistema operativo (l'applicazione stessa verrà eseguita su tutti) da github e decomprimila dove preferisci. Ora, creiamo una struttura di cartelle di base. Avremo cartelle per i file HTML (.html
) e per i file JavaScript (.js
). Inoltre, crea il package.json
file nella stessa directory in cui si trova il file nw
eseguibile è in e a node_modules
cartella per mantenere i moduli che creeremo.
La prima cosa da fare è riempire i campi richiesti nel package.json
file. Nel caso di node-webkit questi sono nome
e principale
(su Github puoi trovare l'elenco completo di disponibili package.json
opzioni). Il primo è esattamente lo stesso come nel caso di una semplice app Node.js. Il secondo dovrebbe essere un percorso (relativo o assoluto) al file HTML principale che verrà visualizzato all'avvio dell'applicazione. Nel caso del nostro esempio, il package.json
il file dovrebbe assomigliare a questo:
"nome": "simple-text-editor", "main": "./html/index.html"
Ora se esegui la tua app utilizzando il nw
eseguibile, dovresti vedere una schermata vuota come questa:
La creazione dell'interfaccia utente tramite node-webkit non è diversa dalla creazione di una pagina Web (con la leggera differenza che conosci il motore di rendering, quindi non devi fornire fallback per i browser più vecchi o utilizzare librerie come jQuery - e in realtà tu non dovrebbe, perché includono codice di fallback che rallenterà la tua app). Creiamo un index.html
file che useremo:
Semplice editor di testo
Includiamo anche (e creiamo) il file JavaScript principale che useremo, nel corpo, quindi verrà eseguito dopo il caricamento del DOM:
Ora l'unica cosa che cambierà quando apri l'app sarà il titolo.
Per mostrarti quanto facilmente puoi usare Node.js in node-webkit, leggiamo i contenuti di package.json
e stampalo sullo schermo. Crea il JS / main.js
file e inserisci il seguente codice:
var fs = require ('fs'); fs.readFile ('./ package.json', 'utf-8', function (error, contents) document.write (contents););
Come puoi vedere, il codice sembra esattamente come se lo stessimo scrivendo per Nodo. Ma poi usiamo document.write
mettere il contenuto del file sulla pagina. Non c'è bisogno di installare alcun server locale.
Ora apri l'app e dovresti vedere qualcosa di simile a questo:
C'è un'altra cosa carina di node-webkit; Non devi includere una serie di >