Podstawy tworzenia aplikacji w Node.js - 3 pytania i odpowiedzi ze szkolenia (listopad 2017)

Seria 3 pytań uczestników, które pojawiły się podczas szkolenia Podstawy tworzenia aplikacji w Node.js realizowanego w dniach 6-9.11.2017r..


Dlaczego wersja LTS zalecana jest do instalowania na serwerach produkcyjnych?

Node.js używa dwóch typów wydań: Current oraz LTS. Wersja Current dotyczy gałęzi aktywnie rozwijanej w której mogą pojawić częste zmiany oraz mogą zostać wprowadzone niekompatybilne zmiany do API. Jest to wersja eksperymentalna która nie jest zalecana do systemów produkcyjnych ponieważ nie daje nam gwarancji stabilności platformy. Wersja LTS natomiast oznacza wydanie które otrzymuje długoterminowe wsparcie ze szczególnym uwzględnieniem stabilności i bezpieczeństwa przez okres 30 miesięcy. Wersje LTS są rzadsze i zawierają tylko poprawki błędów i poprawki bezpieczeństwa. Z uwagi, że na serwerze produkcyjnym chcemy mieć gwarancje stabilnej platformy, zalecane jest stosowanie wersji LTS.

Jakie są ograniczenia Node.js?

Zadania wymagające obliczeń mogą spowodować, że Twoja aplikacja stanie się niedostępna albo powolna, następujące sytuacje mogą powodować problemy wydajnościowe:

  • synchroniczne I/O
  • skomplikowane szablony do renderowania
  • parsowanie bardzo dużych obiektów JSON (JSON.parse)
  • wyrażenia regularne (źle napisane wyrażenie może narazić aplikację na atak ReDOS)
  • obliczenia kryptograficzne

Co stanowiło największy problem dla uczestników?

Często uczestnicy szkolenia pisali programy z użyciem Javy czy C# gdzie naturalnie korzystali a operacji wejścia/wyjścia w sposób synchroniczny, przestawienie się na programowanie asynchroniczne i asynchroniczną obsługę operacji wejścia/wyjścia w Node.js stanowiło dla nich nie lada wyzwania, ale dzięki praktycznym zajęciem na szkoleniu temat stawał się zdecydowanie bardziej przystępny.