Quali sono le cose da imparare in nodeJS?
È un'ottima domanda. È molto importante capire come funziona node per poterci lavorare.
Come descritto sul sito web di node.js.
Node.js è una piattaforma costruita su Chrome's Javascript runtime per costruire facilmente applicazioni di rete veloci e scalabili. Node.js usa un modello di I/O event-driven e non bloccante che lo rende leggero ed efficiente, perfetto per applicazioni in tempo reale che utilizzano molti dati e che vengono eseguite su dispositivi distribuiti.
La prima frase dice cos'è NodeJS. In termini semplici, è una piattaforma costruita sul motore V8, su cui gira anche javascript su Chrome. Quindi avete la sintassi Javascript su cui lavorare per NodeJS. Costruito per creare applicazioni orientate alla rete in modo facile e veloce. Applicazioni orientate alla rete per esempio - Chat, Notifiche.
La seconda frase dice come funziona internamente NodeJS. È guidato dagli eventi e non bloccante, questo è ciò che è necessario capire chiaramente. Tutto ciò che è scritto su Node dovrebbe essere asincrono*, che è anche conosciuto come callback in javascript. Questa struttura asincrona rende il nodo non bloccante e l'a-sincronizzazione si ottiene usando gli eventi. Quindi, ogni operazione all'interno del nodo è guidata dagli eventi. Questo è il motivo per cui si dice che NodeJS sia efficiente.
Modifica:
Node è pensato per essere eseguito su una singola macchina e come un processo autonomo. Pensate che sia un linguaggio, molto simile a PHP o Python in questo caso. Fornisce l'accesso ad alcune parti di basso livello del sistema operativo e alla rete. Vedi Node.js v0.10.32 Manual & Documentation
Per usare completamente le capacità del nodo, sarebbe bene capire le architetture di server-networking, cioè come funzionano i server e come si usa la rete. Se la sua documentazione viene letta correttamente, è chiaramente visibile che le funzionalità di nodo ruotano intorno al server e alla rete. Anche se può essere usato per i programmi, i suoi progettisti lo hanno costruito per permettere alle persone di creare i loro server e ganci personalizzati. Alcuni moduli di esempio dalla documentazione - DNS, UDP e TCP (Sockets), URL, VM. Tutto questo dovrebbe essere sufficiente per un ninja di NodeJS.
Socket.IO
Se la natura event driven del nodo è compresa, allora non rimane molto da indovinare su come funziona socket.io. È un wrapper sul modulo degli eventi che permette di gestire facilmente gli eventi. Crea una connessione socket tra il browser e il server node. Quando un evento viene emesso usando socket.io sul server, l'applicazione sul browser può reagire all'evento se sta gestendo l'evento e viceversa.
Per una facile comprensione, considerate il JS sul browser e il nodo sul server come un singolo pezzo di codice limitato da socket.io.
Nota
Se qualsiasi pezzo di codice è sincrono, un thread è bloccato, la richiesta è in attesa. Il nodo serve una richiesta per thread. Ogni operazione che avverrà in una richiesta avviene su un singolo thread.
Scrivere grandi applicazioni in node può essere complicato. La struttura deve essere altamente modulare e i callback diventano un incubo in alcune situazioni. Comunque è un grande strumento ma sicuramente non è adatto a tutti i tipi di applicazioni. Come scritto nella descrizione usatelo per applicazioni di rete.
*Non è possibile rendere ogni pezzo di codice asincrono tutto il tempo. Poche cose a volte hanno bisogno di essere sincronizzate, per esempio la gestione dei file, node fornisce un metodo per la gestione asincrona dei file.
Articoli simili
- Come imparare e usare "l'intelligenza artificiale per l'Internet delle cose" (usare l'IA nell'IoT)
- Qual è la migliore app per imparare molte cose?
- Imparare a programmare: Posso ancora imparare a programmare se non sono bravo in matematica?
- Quali sono alcune delle migliori app per fare un video di montaggio? Quali sono tutte le cose che dovrei sapere prima di farne uno?