Neuroróżnorodność w miejscu pracy
18.10.20233 min
Bulldogjob

Bulldogjob

Node.js 21 z wbudowanym WebSocket i lepszą wydajnością

Poznaj usprawnienia najnowszej wersji 21 Node.js. Wbudowany natywnie WebSocket, aktualizacja silnika V8 do wersji 11.8 i nie tylko.

Node.js 21 z wbudowanym WebSocket i lepszą wydajnością

Node.js, będący jednym z najpopularniejszych środowisk uruchomieniowych dla JavaScript doczekał się nowej wersji. Tym razem to Node.js 21, który przynosi ze sobą wiele interesujących nowości. Zastępuje on Node.js 20 jako aktualną wersję, podczas gdy Node.js 20 przechodzi do wsparcia długoterminowego (LTS). Oznacza to, że Node.js 20 będzie teraz oferował stabilność i pewność dla firm i deweloperów, którzy potrzebują pewnego i niezmieniającego się środowiska na dłuższy okres czasu. Ale skupmy się na tym co ważne, czyli na nowościach w Node 21. Co dokładnie przynosi nam ta nowa wersja?

Fetch i WebStreams osiągają stabilność

Jednym z najważniejszych dodatków do Node.js 21 jest stabilizacja modułów Fetch i WebStreams.
Dzięki stabilizacji API fetch, deweloperzy mogą teraz korzystać z jednolitego interfejsu zarówno na frontendzie, jak i backendzie, co eliminuje potrzebę korzystania z różnych bibliotek lub narzędzi w zależności od kontekstu. To nie tylko upraszcza proces tworzenia aplikacji, ale także zwiększa jej wydajność i niezawodność.

Z kolei WebStreams to nowoczesne narzędzie do przesyłania danych w strumieniach. W przeciwieństwie do tradycyjnych metod przesyłania danych, które wymagają przesłania całego pliku lub zestawu danych naraz, WebStreams umożliwiają przesyłanie danych w mniejszych paczkach. To oznacza, że dane mogą być przetwarzane niemal natychmiast po ich otrzymaniu, co znacząco przyspiesza działanie aplikacji, zwłaszcza w przypadku dużych plików lub strumieni danych.

Klient WebSocket wbudowany w Node.js

Node.js 21 wprowadza również eksperymentalną implementację klienta WebSocket.
Co istotne, ta implementacja została zaprojektowana tak, aby była kompatybilna z wersją WebSocket, z którą deweloperzy są już zaznajomieni dzięki przeglądarkom internetowym. Wprowadzenie tej funkcji, mimo że wciąż nosi miano "eksperymentalnej", sygnalizuje ambicje twórców Node.js w kierunku dalszego rozwoju i integracji technologii WebSocket.

Aktualizacja silnika V8 do wersji 11.8

Kolejną ważną zmianą jest aktualizacja silnika JavaScript V8 do wersji 11.8. Przynosi ona ze sobą poprawę wydajności oraz nowe funkcje językowe, takie jak grupowanie tablic czy rozszerzone wyrażenia WebAssembly.

Nowa flaga ESM do zmiany domyślnego systemu modułów

Node.js 21 wprowadza również nową flagę eksperymentalną --experimental-default-type, która pozwala na zmianę domyślnego systemu modułów. Dzięki niej można łatwo przełączać się między modułami ES a CommonJS.

Usprawnienia wydajności

Wersja 21 przynosi również szereg usprawnień wydajności, dotyczących między innymi implementacji URL (dzięki nowem parserowi o nazwie Ada, który jest o wiele szybszy niż poprzednia implementacja), API fetch, streams czy node:fs. Te zmiany mają na celu uczynienie Node.js jeszcze bardziej konkurencyjnym w stosunku do innych technologii, takich jak Bun. Szczególnie, że właśnie mniej więcej od premiery Buna słychać wzmożone narzekanie na wydajność Node'a.

Podsumowanie

Node.js 21 wprowadza kilka nowych funkcji i usprawnień. Cieszy przede wszystkim stabilizacja API fetch i streams, bo oznacza to, że można ich używać bez strachu o dalsze zmiany. Natomiast zmiany eksperymentalne pokazują kierunek, w którym idzie Node.js - a wydaje się, że jest to zbliżenia API Node i przeglądarek.

Dla zwykłych użytkowników Node.js nowa wersja oznacza, że spokojnie można się migrować na Node.js 20, czyli na nowego LTS.

<p>Loading...</p>