Wut?
służy do budowania skalowalnych aplikacji sieciowych, wykorzystując JavaScript po stronie serwera,
używa Googlowego silnika JS - V8 (to co siedzi w przeglądarce chrome),
jest szybkie - napisane w C (V8 też w C),
przydatny jako:
serwer websocketów - czat,
upload plików, tak, żeby nie blokować serwera,
do obsługi jakichkolwiek aplikacji działających w czasie rzeczywistym,
nie jest wielowątkowy.
Kod, który blokuje a kod, który nie blokuje
Kod przetwarzany jest jedna linia po drugiej.
var contents = fs.readFileSync('/root/al_bundy_quotes.txt');
console.log(contents);
console.log('Do something else');
Kod zacznie wczytywać mądrości oraz robić “coś innego”. Gdy skończy ładować wiedzę, wyświetli jej zawartość.
fs.readFile('/root/al_bundy_quotes.txt', function(err, contents) {
console.log(contents);
});
console.log('Doing something else');
Wydarzenia
Wiele obiektów w Node, generuje zdarzenia,
zdarzenia te mogą być dziedziczone z EventEmitter
,
klasa net.Server
generuje zdarzenie request
,
klasa fs.readStream
generuje zdarzenie data
,
możemy tworzyć własne zdarzenia: