A Ryan Dahl által 2009-ben létrehozott, Windowson, Linuxon és Mac OS-en is futó, nyelvként JavaScriptet használó Node.js egy olyan, ingyenes szerverkörnyezet, amely a Google V8-as motorjára épül. Platformfüggetlen megoldás, amely tökéletes skálázható online alkalmazások megvalósítására.

Lehetővé teszi a gyors és hatékony JavaScript fejlesztést és a könnyű prototypingot – ezzel a leghatékonyabban használható szerveroldali programnyelvek egyike. Egyre népszerűbb, számos nagy cég (Linkedin, Microsoft, Yahoo!, Walmart, PayPal, Netflix…stb.) használja.

Legfontosabb tulajdonságai

  • egyszálú eseményhurkon üzemel (single-threaded)
  • aszinkron, nem blokkoló IO-t használ, ezért alkalmas párhuzamos műveletek végrehajtására
  • eseményvezérelt architektúrával rendelkezik

Előnyei

  • gyors kódvégrehajtás jellemzi, mivel a Google Chrome V8 JavaScript-motorjára épül
  • könnyű skálázhatóságot tesz lehetővé
  • JavaScripttel lehet fejleszteni, amely egy könnyen megtanulható és népszerű nyelv
  • nagy és támogató közösséggel rendelkezik

Hátrányai

  • vállalati környezetben, nagy terheltség és komplexitás mellett nem jól skálázódik, tehát nem lehet rá többszálas, nagy terhelést bíró rendszereket építeni
  • az API-felület nem stabil, így az állandó változás miatt a fejlesztők arra kényszerülnek, hogy újra és újra megváltoztassák a hozzáférhető kódbázisokat, hogy azok egyezzenek a legújabb API verzióval

Mikor érdemes használni?

  • Data streaming – aszinkron jellege miatt jó megoldás valós idejű adatfolyam-feldolgozás esetén
  • API szerver – mivel képes több kapcsolat egyidejű kezelésére, kiválóan alkalmas egy API-szolgáltatásra
  • Microservice-ek – mivel gyors és könnyű, használható microservice-ek írására (pl. API gateway)