Nodea — logo

Node.js

Node.js to otwartoźródłowe środowisko uruchomieniowe, które umożliwia wykonywanie kodu JavaScript poza przeglądarką — po stronie serwera. Zbudowane jest na silniku V8 (tym samym, który napędza przeglądarkę Chrome) i pozwala używać jednego języka zarówno na froncie, jak i na backendzie aplikacji. Od premiery w 2009 roku stało się fundamentem wielu nowoczesnych stacków webowych.

Jak działa Node.js?

Cechą wyróżniającą Node.js jest nieblokujący, asynchroniczny model operacji wejścia/wyjścia oparty na pętli zdarzeń (event loop). Zamiast tworzyć osobny wątek dla każdego żądania i czekać na zakończenie operacji (np. odczytu z bazy danych), Node.js zleca ją i natychmiast zajmuje się kolejnymi zadaniami, a wynik obsługuje, gdy będzie gotowy. Dzięki temu pojedynczy proces potrafi wydajnie obsłużyć bardzo wiele równoczesnych połączeń przy niskim zużyciu zasobów.

Ekosystem Node.js opiera się na menedżerze pakietów npm, który daje dostęp do setek tysięcy gotowych bibliotek. Na Node.js zbudowane są popularne frameworki backendowe, jak Express.js, a także narzędzia frontendowe (bundlery, transpilery) oraz frameworki full-stack, takie jak Next.js.

Zastosowanie w praktyce

Node.js szczególnie dobrze sprawdza się w aplikacjach intensywnie korzystających z sieci: interfejsach API i REST, aplikacjach czasu rzeczywistego (czaty, powiadomienia, WebSocket), mikroserwisach oraz w narzędziach obsługujących wiele jednoczesnych połączeń. Mniej optymalny jest do zadań mocno obciążających procesor obliczeniami, które mogą blokować pętlę zdarzeń.

Uruchomienie aplikacji Node.js wymaga środowiska, w którym proces działa w sposób ciągły, dlatego nie sprawdzi się typowy hosting współdzielony dla PHP. Naturalnym wyborem jest serwer VPS lub dedykowany, dający pełną kontrolę nad środowiskiem, menedżerem procesów i wersją Node.js, co pozwala utrzymać aplikację stabilnie w środowisku produkcyjnym.

Powiązane pojęcia

Najczęstsze pytania

Czy Node.js to język programowania?

Nie. Node.js to środowisko uruchomieniowe (runtime), które pozwala wykonywać kod napisany w języku JavaScript poza przeglądarką, po stronie serwera. Sam język pozostaje JavaScriptem — Node.js dostarcza mu silnik V8, dostęp do systemu plików, sieci i zewnętrznych bibliotek instalowanych przez npm.

Jaki hosting jest potrzebny do aplikacji Node.js?

Aplikacja Node.js działa jako stale uruchomiony proces, dlatego nie zadziała na typowym hostingu współdzielonym przeznaczonym dla PHP. Potrzebny jest serwer VPS lub dedykowany albo platforma z obsługą runtime Node.js, gdzie proces aplikacji można uruchomić i utrzymywać w działaniu, np. przez menedżer procesów.