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.
- A Braining Hub képzési kínálatában is megtalálható vállalati oktatás formájában.
- Letölthető változatai, forráskódja és dokumentációja az alábbi linken elérhetőek: http://nodejs.org/
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)