Node.js

Z Wikipedii, wolnej encyklopedii
Node.js
Logo Node.js
Logo programu
Autor Ryan Dahl, Joyent, Lista deweloperów
Pierwsze wydanie 27 maja 2009; ponad 14 lat temu
Aktualna wersja stabilna 21.6.1
(22 stycznia 2024) [±]
Język programowania C, C++, JavaScript
Platforma sprzętowa wieloplatformowy
Rodzaj Środowisko uruchomieniowe
Licencja Licencja MIT[1]
Strona internetowa

Node.js – wieloplatformowe środowisko uruchomieniowe o otwartym kodzie[2] do tworzenia aplikacji typu server-side napisanych w języku JavaScript. Przyczynił się do stworzenia paradygmatu „JavaScript everywhere[3], umożliwiając programistom tworzenie aplikacji w obrębie jednego języka programowania zamiast polegania na odrębnych po stronie serwerowej.

Wiele przedsiębiorstw aktywnie korzysta z Node.js. Są to m.in. Airbnb, Aliexpress, Coursea, eBay, GoDaddy, Groupon, IBM, LinkedIn, MasterCard, Medium, Microsoft, NASA, Netflix, PayPal, Pinterest, Tumblr, Twitter, Walmart, Uber, czy Yahoo![4].

Node.js umożliwia także tworzenie aplikacji typu client-side za pośrednictwem platformy Electron.

Historia[edytuj | edytuj kod]

Node.js został stworzony przez Ryana Dahla w 2009 roku[5]. Pierwsza wersja obsługiwała tylko Linuksa oraz Mac OS X. Jej opracowywaniem i utrzymywaniem kierował Dahl, a finansowaniem tego projektu zajęła się firma Joyent, w której pracował[6].

Dahl skrytykował wówczas ograniczone możliwości Apache 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 roku JS Foundation oraz Node.js Foundation połączyły się, tworząc OpenJS Foundation[9].

Szczegóły[edytuj | edytuj kod]

Node.js składa się z silnika V8 (stworzonego przez Google), biblioteki libUV oraz kilku innych bibliotek.

Pierwotnym celem Dahla było dodanie do stron internetowych możliwości technologii push(inne języki), widocznej w aplikacjach pocztowych takich jak Gmail. Po wypróbowaniu różnych języków zdecydował się na JavaScript, ze względu na brak istniejącego API wejścia/wyjścia[10]. Dało mu to możliwość wykorzystania nieblokującego, sterowanego zdarzeniami wejścia/wyjścia.

Domyślnym managerem pakietów dla Node.js jest Npm.

Przypisy[edytuj | edytuj kod]

  1. Plik LICENSE w repozytorium kodu oprogramowania. github.com, 2021-08-08. [dostęp 2021-08-16]. (ang.).
  2. Oficjalne repozytorium oprogramowania w serwisie GitHub. github.com. [dostęp 2021-08-16]. (ang.).
  3. gcuomo: JavaScript Everywhere and the Three Amigos (Into the wild BLUE yonder!). 2013-10-24. (ang.).
  4. Why use Node.js? 7 examples of popular Node.js apps, 8 lipca 2020 (ang.).
  5. Unknown, About Node.js, and why you should add Node.js to your skill set? [dostęp 2021-04-03].
  6. Grupy dyskusyjne Google, groups.google.com [dostęp 2021-04-03].
  7. PHP vs Node.js, Belitsoft, 12 października 2017 [dostęp 2021-04-03] (ang.).
  8. Node.js, Porting Node to Windows With Microsoft’s Help, Node.js [dostęp 2021-04-03] (ang.).
  9. Node.js and JS foundations are merging to form OpenJS, VentureBeat, 12 marca 2019 [dostęp 2021-04-03] (ang.).
  10. Tom Hughes-Croucher, Mike Wilson: Up and Running with Node.js. Sebastopol, CA: O’Reilly, 2012. ISBN 978-1-4493-9858-3. OCLC 795239737. (ang.).