Żegnaj, Node.js. Co zastąpi popularny runtime?
27 maja 2009 roku wydano środowisko uruchomieniowe o otwartym kodzie źródłowym. Node js zrewolucjonizował aplikacje po stronie serwera i sprawił, że niezliczone możliwości stały się rzeczywistością. Na osiedlu pojawił się jednak nowy kolega.
Kto to taki?
To Bun (uprzedzę Twoje pytanie, tak, wszystkie fajne nazwy zostały już zajęte) jest nowym środowiskiem uruchomieniowym typu open source stworzonym przez Jareda Sumnera i ponad 40 kontrybutorów. To kujonowato wyglądające środowisko uruchomieniowe naprawdę ma moc.
Według jego twórcy zostało stworzone do:
- Szybkości.
- Uzyskania nowych poziomów wydajności.
- Bycia wspaniałym i kompletnym narzędziem.
- Podczas wydania beta jego twórcy twierdzili, że jest to niewiarygodnie szybki runtime JavaScript all-in-one.
Zastanawiasz się jak szybki?
Oto wyniki wydajności Bun w porównaniu do Node.js i Deno.
Poświęć chwilę i wczytaj się dobrze w te liczby. I tak, to jest legalne, przynajmniej Bun tak twierdzi. Nie wygląda to dobrze dla Deno, ale jestem pewien, że Ryan Dahl i zespół Deno ma coś jeszcze w zanadrzu.
Jak to działa?
Node.js używa silnika V8 i sprawił, że jest to wspaniałe narzędzie ze względu na kompilację JIT(Just In Time). Teraz Bun używa rdzenia JavaScript, który jest uważany za szybszy. Został on również napisany w niskopoziomowym języku Zig, który można przyrównać do C i Rusta, mających dziecko. Niski poziom kontroli pamięci i brak ukrytego przepływu sterowania to cechy języka Zig, dzięki którym Bun jest tak szybki.
Funkcje
- Natywny pakiet, który zastępuje Web Pack.
- Transpilator umożliwiający napisanie TypesScript OOTB.
- Task runner.
- Klient npm.
- Automatycznie ładowana zmienna środowiskowa (żegnaj
require("dotenv").load()
). - Natywny Test runner.
- 90% funkcji API Node.
Nie wydaje mi się, żeby mogło być lepiej.
Warto zauważyć, że ponieważ jest to nowe narzędzie, będą też pojawiać się błędy. Najlepiej będzie zastosować WSL (Windows Subsystem for Linux).
Wprowadzenie środowiska Bun będzie z pewnością spełnieniem marzeń wielu deweloperów. Czy jednak narzędzie to wytrzyma próbę czasu lub stanie się kolejnym Windowsem 8? Mam nadzieję, że nie.
Z oryginalną wersją artykułu można zapoznać się na łamach Medium.