Node js logo

Node.js

Stworzone w 2009 roku wieloplatformowe środowisko uruchomieniowe o otwartym kodzie do tworzenia aplikacji typu server-side napisanych w języku JavaScript. Node.js umożliwia programistom tworzenie aplikacji w obrębie jednego języka programowania zamiast polegania na odrębnych po stronie serwerowej. Node.js był pierwszym środowiskiem, które pozwalało na wykorzystanie kodu JavaScript. Node.js składa się z silnika V8 (stworzonego przez Google), biblioteki libUV oraz kilku innych bibliotek.

Zalety Node.js

ASYNCHRONICZNOŚĆ

Posiada nieblokującą obsługę wejścia/wyjścia, co pozwala stworzyć wysoce skalowalne rozwiązania po stronie serwera, maksymalizując przy tym wykorzystanie jego procesora i pamięci.

WYSOKA SKALOWALNOŚĆ

Dzięki mechanizmowi zdarzeń Node.js może być z łatwością skalowalny. Dzięki temu programiści mogą rozbudować środowisko tak, aby działało z jak największą wydajnością.

DUŻA POPULARNOŚĆ

Posiada rozbudowaną dokumentację składającą się między innymi z dużej ilości tutoriali oraz przykładowych projektów.

Elementy Node js.

Charakterystyka kilku wybranych elementów Node.js

  • NPM - Node Package Manager: Domyślny manager pakietów dla środowiska Node.js, może być także używany do zarządzania warstwą front-end aplikacji WWW. NPM to także repozytorium pakietów (nazywane rejestrem npm) oraz nazwa firmy (npm, Inc.) która nim zarządza.
  • Jednowątkowość: Działanie na jednym wątku pozwalające na uniknięcie niepotrzebnego przełączania pomiędzy kontekstami procesora.
  • AIO: Asynchroniczne wejście-wyjście (Asynchronous Input/Output - AIO). Umożliwia aplikacji (nawet jednemu wątkowi aplikacji) nakładanie na siebie operacji wejścia-wyjścia oraz przetwarzania danych. Pętla zdarzeń działa na pojedynczym wątku natomiast każde długoterminowe zadania są za każdym razem wykonywane w sposób asynchroniczny jako wątki robocze.
  • Biblioteka libUV: Na niej opiera się pętla zdarzeń, odpowiada za tzw. kolejkowanie i asynchroniczne powtarzanie.

Jak Node.js wygląda w kodzie?


var http = require("http"),
url = require("url");
                                        
http.createServer(function (request, response) {
 request.on('end', function () {
   var _get = url.parse(request.url, true).query;
   response.writeHead(200, {
   'Content-Type': 'text/plain'
   });
  response.end('Your data: ' + _get['data']);
 });
}).listen(8080);
                                      
      

if(!localStorage.getItem('name')) {
  setUserName();
} else {
  var storedName = localStorage.getItem('name');
  myHeading.textContent = 'Mozilla is cool, ' + storedName;
}
      

Przedsiębiorstwa, które z powodzeniem wdrożyły Node.js:

  • Airbnb
  • Aliexpress
  • eBay
  • eBay
  • LinkedIn
  • MasterCard
  • Microsoft
  • NASA
  • Netflix
  • PayPal
  • Twitter
  • Uber

Źródła

  • https://en.wikipedia.org/wiki/Node.js