Sytuacja kobiet w IT w 2024 roku
24.04.20193 min
Michael Litwin

Michael LitwinIT Content Writer

Node.js - premiera wersji 12

Dowiedz się, jakie nowości i ulepszenia znajdziesz w świeżo wydanej wersji Node.js 12

Node.js - premiera wersji 12

Node.js został właśnie wydany w wersji 12. Ponieważ jest to wersja z numerem parzystym, będzie posiadała przedłużony okres wsparcia (LTS) od października 2019 r. do kwietnia 2022 r. Fundacja Node.js ogłosiła nową wersję wpisem na medium, w którym przeczytamy:

Z radością ogłaszamy dzisiaj Node.js 12. Godne wyróżnienia aktualizacje i funkcje obejmują szybsze uruchamianie i lepsze domyślne limity sterty, aktualizacje dla V8, TLS, llhttp; nowe funkcje, w tym raport diagnostyczny, możliwość zrzucania sterty i aktualizacje dla funkcji wątków roboczych, N-API, obsługę modułów ES6 i wiele innych. Wydanie Node.js 12 zastępuje wersję 11. Obecna wersja posiadać będzie długoterminowe wsparcie (LTS) od października 2019 r. (Więcej szczegółów na temat strategii LTS tutaj).

Poniżej kilka najważniejszych funkcji i uaktualnień:

Szybsze uruchamianie

W Node 12 biblioteki wbudowane będą cache'owane podczas budowania i osadzane w wynikowym pliku binarnym. Dzięki temu wczytywanie bibliotek wbudowanych jest o wiele szybsze i pozwala uzyskać o 30% krótszy czas startu głównego wątku.

Aktualizacja V8 do wersji V8 7.4

Node 12 początkowo będzie działał na wersji V8 7.4 i ostatecznie zostanie uaktualniony do wersji 7.6. Zespół V8 zgodził się zapewnić stabilność ABI dla tego zakresu. Znaczące ulepszenia w wersji V8 7.4 to aktualizacje wydajności zapewniające szybsze wykonywanie JavaScriptu, lepsze zarządzanie pamięcią i rozszerzoną obsługę składni ECMAScript. Ponadto, ponieważ silnik V8 jest utrzymywany przez Google i używany w Chrome, Node będzie otrzymywał przez niego wszystkie aktualizacje.

TLS w wersji 1.3

Node obsługują teraz TLS 1.3, który zapewnia zwiększone bezpieczeństwo i mniejsze opóźnienia. Wersja 1.3 była ogromną aktualizacją tego protokołu i jest obecnie aktywnie integrowana w sieci. Dzięki wdrożeniu TLS 1.3, aplikacje Node zwiększą prywatność użytkowników końcowych, a jednocześnie poprawią wydajność żądań poprzez skrócenie czasu potrzebnego na uzgadnianie HTTPS. Ponadto TLS 1.0 i 1.1 zostały domyślnie wyłączone, a z biblioteki crypto usunięto przestarzałe funkcje.

Poprawiono domyślne limity sterty

Wcześniej używano domyślnych rozmiarów sterty V8, które odpowiadały 700 MB (na systemach 32-bitowych) lub 1400 MB (na 64-bitowych). Node określi teraz wielkość sterty na podstawie dostępnej pamięci, co zapewni, że nie będzie jej wykorzystywać więcej niż mu wolno.

Jest to szczególnie przydatne podczas przetwarzania dużych zestawów danych. Tak jak poprzednio, nadal będzie możliwe ustawienie - max-old-space-size, aby użyć innego limitu, jeśli domyślne nie jest odpowiednie dla twojej aplikacji.

Funkcja zrzutu sterty i diagnostyka

Node 12 umożliwia generowanie zrzutu sterty, co ułatwia badanie problemów z pamięcią. Dodatkowo Node oferuje ulepszoną zdolność diagnozowania problemów (wydajność, użycie procesora, pamięć, awarie itp.) w aplikacjach, udostępniając eksperymentalną funkcję raportu diagnostycznego.

Ulepszenia N-API

N-API został wydany w celu zapewnienia bardziej stabilnego i natywnego systemu modułów Node. Przez stworzenie stabilnej abstrakcji, na poziomie ABI poprzez natywne API JS, biblioteki będą o wiele bardziej stabilne przy nowych wydaniach.

Inne znaczące ulepszenia

By uruchomić wątki robocze już nie trzeba używać flagi, bo są włączone domyślnie. Domyślnym parserem http został llhttp. Do tego dodano kilka przydatnych funkcji jak np. assert, który sprawdza wymagane argumenty i dopasowuje luźne asercje albo buffer, które zostało ulepszone pod kątem bezpieczeństwa i stabilności.

Pełny changelog można obejrzeć na GitHubie, a oficjalny wpis od fundacji Node.js można znaleźć na medium.

<p>Loading...</p>