node.js

Platforma pozwalająca uruchomić kod JavaScript poza przeglądarką

node.js jest platformą umożliwiającą uruchomienie kodu JavaScript. Platforma udostępnia API, którego najszerszym (lecz nie jedynym) zastosowaniem jest tworzenie stron internetowych opartych na programowaniu sterowanym zdarzeniami. Poza samą możliwością uruchomienia skryptów JavaScript w środowisku innym niż przeglądarka, platforma oferuje wiele modułów stanowiących potężny zestaw narzędzi programistycznych.

Charakterystyka node.js

  • Asynchroniczność. W architekturze programowania sterowanego zdarzeniami czas występowania zdarzeń oraz ich kolejność nie są określone. Pojawiające się zdarzenia są obsługiwane kiedy tylko dostępne są wolne zasoby. Takie podejście skutkuje lepszym wykorzystaniem zasobów oraz większą separacją kodu i luźnym powiązaniem komponentów (loose coupling).
  • Unifikacja kodu po stronie klienta i serwera. Używanie tego samego języka programowania po obu stronach połączenia pozwala uniknąć koniecznego w innych wypadkach duplikowania logiki fragmentów aplikacji.
  • V8 czyli otwarty silnik JavaScript stworzony na potrzeby Google Chrome. Silnik nie interpretuje kodu JavaScript w czasie rzeczywistym, a kompiluje kod do kodu maszynowego, co zwiększa wydajność. Następnie ma miejsce proces optymalizacji wykonania między innymi przez usuwanie “martwego” kodu, czy przewidywanie rozgałęzień wykonania pętli. Zarządzaniem pamięcią zajmuje się wydajny odśmiecacz.
  • npm - menadżer pakietów dla node.js używany do instalacji rozszerzeń. node.js rozwija się bardzo dynamicznie - obecnie npm zawiera ponad 250 tys. pakietów, a ich liczba wciąż rośnie.

Przykładowy kod

Przykład serwera z oficjalnej strony node.js


const http = require('http');

http.createServer(function(request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
      response.end('Hello World\n');
}).listen(8124);

console.log('Server running at http://127.0.0.1:8124/');