Pierwsze kroki w Node.js

Wielu z nas kojarzy JavaScripta wyłącznie z przeglądarkami i ogólnie pojętym frontendem. Jednak na tym nie kończą się możliwości tego języka. Dzięki bibliotece Node.js mamy możliwość napisać w JS-ie funkcjonalny serwer dla naszych aplikacji. I – co najważniejsze – wcale nie jest to trudne.

Wydany w 2009 roku Node.js zrewolucjonizował sposób programowania serwerów przez programistów. Przed utworzeniem Node.js serwery były programowane przy użyciu języków takich jak PHP czy Ruby. Teraz można używać JavaScriptu, języka programowania przeznaczonego do użytku w interfejsie użytkownika, do pisania kodu serwera. Dzięki Node.js tworzenie aplikacji z pełnym stosem stało się  dla programistów znacznie łatwiejsze.

Co to jest i za co odpowiada Node.js?

Według oficjalnej witryny poświęconej temu frameworkowi „Node.js® to środowisko wykonawcze JavaScript oparte na silniku JavaScript V8 przeglądarki Chrome”.

Node.js to środowisko uruchomieniowe, które działa poza przeglądarką, współpracujące bezpośrednio z systemem operacyjnym. W ten sposób udostępnia swoim aplikacjom API systemu operacyjnego, w tym dostęp do systemu plików, bibliotek systemowych czy uruchomionych procesów, w tym serwerów HTTP.

Specyfiką Node.js jest wykorzystywanie pętli zdarzeń JavaScript do tworzenia niezablokowanych aplikacji wejścia/wyjścia, które z łatwością obsługują wiele jednoczesnych zdarzeń. Przetwarzanie asynchroniczne JavaScriptu pozwala tworzyć wysoce skalowalne rozwiązania po stronie serwera, maksymalizując przy tym wykorzystanie jego procesora i pamięci. Ta funkcjonalność sprawia, że Node.js najlepiej nadaje się aplikacji asynchronicznych np. aplikacji RTA (aplikacje czasu rzeczywistego), SPA (aplikacje jednostronicowe). 

Node.js – jakie ma zalety i wady?

Z perspektywy tworzenia oprogramowania po stronie serwera, Node ma szereg zalet. Oto najważniejsze z nich:

  • wysoka wydajność – Node zostało zaprojektowane, aby optymalizować wydajność i skalowalność aplikacji webowych i jest dobrym rozwiązaniem dla wielu często występujących problemów podczas tworzenia tego rodzaju aplikacji,
  • kod aplikacji to „stary dobry JavaScript”, co oznacza, że spędzamy mniej czasu na „przełączanie kontekstu” podczas pracy z różnymi językami po stronie klienta i serwera,
  • JavaScript jest relatywnie nowym językiem programowania i oferuje sporo ulepszeń w porównaniu do innych, tradycyjnie używanych po stronie serwera języków (np. PHP, Python itd.). Także wiele nowszych i popularnych języków jest kompilowanych/tłumaczonych do JavaScript, więc można korzystać także z TypeScript, CoffeScript, ClojureScript, Scala.js, LiveScript i innych,
  • menadżer pakietów środowiska Node (NPM – Node Package Manager) daje dostęp do setek tysięcy pakietów, z których można korzystać. Posiada on najlepszy w swojej klasie mechanizm rozwiązywania zależności i może być wykorzystany do automatyzacji pracy narzędzi budujących aplikację,
  • Node.js jest przenośne. Jest dostępne dla Microsoft Widnows, macOs, Linux, Solaris, FreeBSD, OpenBSD, WebOS, and NonStop OS. Jest także wspierane przez dostawców usług sieciowych, którzy zapewniają odpowiednią infrastrukturę i dokumentację do hostowania aplikacji Node,
  • Ma również bardzo aktywny ekosystem firm trzecich i społeczność programistów, którzy gotowi są służyć pomocą.

Ale Node.js (jak wszystko) posiada również swoje wady. Środowisko działa w trybie jednowątkowym, opartym na zdarzeniach. Aplikacja przestanie odpowiadać lub znacznie zwolni w przypadku operacji intensywnie wykorzystujących procesor, takich jak przetwarzanie dużych plików, dużych ilości danych, edycji obrazów. Ekosystem modułów jest wciąż niedojrzały. Trudno jest ocenić jakość wybranego modułu przed jego instalacją w aplikacji. Dzięki łatwości publikowania własnych pakietów w połączeniu z brakiem niezawodnego mechanizmu zatwierdzania modułu może oznaczać, że powinniśmy bardziej zwracać uwagę podczas wybierania modułów, weryfikować jego ostatnie aktywności, takie jak poprawki błędów czy aktualizacje.

ZOBACZ TEŻ: Nauka JavaScript – zbiór kursów, materiałów edukacyjnych i definicji

ZOBACZ TEŻ:  Stwórz swój pierwszy system Remote Push w aplikacji React Native

Wydania Node.js

Główne wersje Node.js otrzymują status current release na sześć miesięcy, co daje autorom bibliotek czas na dodanie wsparcia dla nich. Po upływie sześciu miesięcy wydania o numerach nieparzystych (9, 11 itd.) przestają być wspierane, a wydania o numerach parzystych (10, 12, itd.) przechodzą do statusu Active LTS i są gotowe do ogólnego użytku. Status wydania LTS to „wsparcie długoterminowe”, które zazwyczaj gwarantuje, że krytyczne błędy będą naprawiane przez okres 30 miesięcy. Aplikacje produkcyjne powinny używać tylko wydań Active LTS lub Maintenance LTS.

Node.jsNode.js

Node.js – pierwsze kroki

Jak zacząć przygodę z Node.js? Poniżej znajdziecie parę przydatnych linków z zadaniami dla początkujących:

  1. Na początek – pobranie i zainstalowanie: https://nodejs.org/en/
  2. Pierwsze kroki po zainstalowaniu: https://ichi.pro/pl/pierwsze-kroki-z-node-js-48986311730422
  3. Podstawowe kwestie związane z pisaniem aplikacji w Node.js: https://fsgeek.pl/post/nodejs-pierwsze-kroki/
  4. Hello World: https://developer.mozilla.org/pl/docs/Learn/Server-side/Express_Nodejs/Introduction#jak_popularne_s%C4%85_node_i_express
  5. YouTube – kurs w 60 minut: 

Źródło i zdjęcie główne: Node.js.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Bankowość w Dolinie Krzemowej to porażka