Fastify 3.0 z lepszą wydajnością i obsługą języka TypeScript
Fastify 3.0 udostępnione! Jest to platforma open source, framework sieciowy Node.js. W nowej wersji wprowadzono m.in. ulepszenia schematów oraz obsługę uruchamiania aplikacji Express. Głównym celem działania Fastify jest utrzymywanie lekkiej wydajności.
Więcej o wydaniu Fastify w poniższym filmie Matteo Colliny, członka technicznego komitetu sterującego Node.js i kierownika projektu Fastify.
Wydajność Fastify 3.0
W porównaniu z wcześniejszymi wersjami, nowa ponad dwukrotnie zwiększa żądania Fastify na sekundę. Także w porównaniu z innymi platformami Node.js (Restify, Express czy hapi) jest to większa ilość żądań.
Nowa wersja ulepsza także system typów. Ma on obsługiwać ogólne ograniczenia oraz domyślne ustawienia. To ulepszenie ma także poprawić wydajność definicji typów schematów.
Weryfikacja i serializacja
Fastify 3.0 dodała ulepszenia do serializacji rejestrowania i zastępowania schematów. Jest to znacząca aktualizacja. Przykładowo, zastąpiono opcje setSchemaCompiler i setSchemaResolver przez setValidatorCompiler. Pozwoli to na przyszłe ulepszenia narzędzi.
Inne zmiany hooków oraz preParsing także wpływają na poprawienie wydajności. Ponadto zapewniają lepszą spójność i większe wykorzystanie wewnętrznych interfejsów API Fastify. Hook przyjmuje teraz dodatkowy argument payload. Dlatego też nowa sygnatura przechwytywania to fn(request, reply, payload, done) lub async fn(request, reply, payload).
Z kolei, jeśli mowa o serializatorach rejestrowania Fastify 3.0 – korzystają one z obiektów Fastify Request i Reply zamiast obiektów natywnych.
Obsługa uruchamiania Express
Dzięki nowemu pakietowi fastify-express, Fastify jest w pełni zgodne z Expressem. W przyszłości może to skutkować łatwiejszym przejściem z Express na Fastify.
Inne zmiany w Fastify 3.0
W nowej wersji znajdują się 136 oficjalne wtyczki. Dla wydawców ważnym było zapewnienie wsparcia dla wszystkich wtyczek. Niektóre z nich zapewniają renderowanie po stronie serwera WebSockets czy Next.js
Pełna lista aktualizacji znajduje się w przewodniku migracyjnym.
Źródło: InfoQ