Node.js – wieloplatformowe środowisko uruchomieniowe ootwartym kodzie[2] do tworzenia aplikacji typuserver-side napisanych w językuJavaScript. Przyczynił się do stworzenia paradygmatu „JavaScript everywhere”[3], umożliwiając programistom tworzenie aplikacji w obrębie jednegojęzyka programowania zamiast polegania na odrębnych po stronie serwerowej.
Z Node.js korzysta wiele przedsiębiorstw, m.in.Airbnb,Aliexpress,Coursea,eBay,GoDaddy,Groupon,IBM,LinkedIn,MasterCard, Medium,Microsoft,NASA,Netflix,PayPal,Pinterest,Tumblr,Twitter,Walmart,Uber, czyYahoo![4].
Node.js umożliwia także tworzenie aplikacji typuclient-side za pośrednictwem platformyElectron.
Node.js został stworzony przez Ryana Dahla w 2009 roku[5]. Pierwsza wersja obsługiwała tylkoLinuksa orazMac OS X. Jej opracowywaniem i utrzymywaniem kierował Dahl, a finansowaniem projektu zajęła się firma Joyent, w której pracował[6].
Dahl skrytykował wówczas ograniczone możliwościApache HTTP Server, najpopularniejszego serwera WWW do obsługi wielu równoczesnych połączeń oraz najbardziej powszechnego sposobu tworzenia kodu (programowanie sekwencyjne), gdy kod albo blokował cały proces, albo implikował wiele stosów wykonania w przypadku jednoczesnych połączeń[7].
W 2011 roku Microsoft oraz Joyent wdrożyły natywną wersję Node.js dla systemu Windows[8].
W 2019 rokuJS Foundation orazNode.js Foundation połączyły się, tworzącOpenJS Foundation[9].
Node.js składa się zsilnika V8 (stworzonego przezGoogle), biblioteki libUV oraz kilku innych bibliotek.
Pierwotnym celem Dahla było dodanie do stron internetowych możliwościtechnologii push(inne języki), widocznej w aplikacjachpocztowych takich jakGmail. Po wypróbowaniu różnych języków zdecydował się naJavaScript, ze względu na brak istniejącegoAPIwejścia/wyjścia[10]. Dało mu to możliwość wykorzystania nieblokującego, sterowanego zdarzeniami wejścia/wyjścia.
Domyślnymmanagerem pakietów dla Node.js jestNpm.
- ↑PlikLICENSE w repozytorium kodu oprogramowania. github.com, 2021-08-08. [dostęp 2021-08-16]. (ang.).
- ↑Oficjalne repozytorium oprogramowania w serwisie GitHub. github.com. [dostęp 2021-08-16]. (ang.).
- ↑gcuomo: JavaScript Everywhere and the Three Amigos (Into the wild BLUE yonder!). 2013-10-24. (ang.).
- ↑Why use Node.js? 7 examples of popular Node.js apps [online], 8 lipca 2020 (ang.).
- ↑Unknown,About Node.js, and why you should add Node.js to your skill set? [online] [dostęp 2021-04-03] .
- ↑Grupy dyskusyjne Google [online], groups.google.com [dostęp 2021-04-03] .
- ↑PHP vs Node.js [online], Belitsoft, 12 października 2017 [dostęp 2021-04-03] (ang.).
- ↑Node.js,Porting Node to Windows With Microsoft’s Help [online], Node.js [dostęp 2021-04-03] (ang.).
- ↑Node.js and JS foundations are merging to form OpenJS [online], VentureBeat, 12 marca 2019 [dostęp 2021-04-03] (ang.).
- ↑Tom Hughes-Croucher, Mike Wilson: Up and Running with Node.js. Sebastopol, CA: O’Reilly, 2012.ISBN 978-1-4493-9858-3.OCLC795239737. (ang.). Brak numerów stron w książce