| Autor | Jarred Sumner i inni |
|---|---|
| Aktualna wersja stabilna | 1.1.4 (16 kwietnia 2024) [±] |
| Język programowania | Zig |
| System operacyjny | Wieloplatformowe |
| Rodzaj | Środowisko uruchomieniowe |
| Licencja | MIT |
| Strona internetowa | |
Bun (dosł. bułka) – środowisko uruchomieniowe JavaScript, menedżer pakietów, program uruchamiający testy i program opakowujący kod. Został zaprojektowany przez Jarreda Sumnera jako zamiennik i rozszerzenie dla Node.js.
Bun został zbudowany w większości przy użyciu języka programowania Zig. Jako silnik JS używany jest JavaScriptCore z WebKit, czyli inaczej niż w Node.js i Deno, które używają silnika V8.
Elementy środowiska
Bun obsługuje łączenie, minifikację i renderowanie po stronie serwera (Svelte, Nuxt.js, Vite). Łączenie, czy opakowywanie kodu odnosi się do procesu łączenia wielu plików i zasobów, takich jak JavaScript, CSS i HTML, w jeden plik lub przynajmniej mniejszą liczbę plików, co wiąże się z ułatwieniem dystrybucji i zmniejszeniem liczby żądań serwera w celu zwiększenia wydajności strony internetowej.
Minifikacja to technika zmniejszenia wielkości plików z kodem poprzez zmianę kodu na krótszy, ale równoważny, czyli to kolejna metoda na zwiększenie wydajności. W wypadku Bun oprócz typowego usuwania zbędnych spacji i komentarzy, daje też możliwość skrócenia identyfikatorów, a nawet optymalizacja składni (np. łącząc statyczne ciągi znaków w jedne ciąg).
Środowisko wykonawcze obsługuje m.in. SQLite3, TLS 1.3 i rozwiązywanie nazw DNS. W zestawie znajdują się również typowe narzędzia dla JS, takie jak serwer HTTP, obsługa Websocketów i haszowania.
Od wersji Bun 1.1 środowisko wykonawcze obsługuje system Windows w wersji 10 lub nowszej (wraz z wcześniejszym wsparciem Linuksa i MacOS). W 2024 wprowadzono także wieloplatformową powłokę Bun Shell do uruchamiania niektórych poleceń Bash bez konieczności instalacji dodatkowych zależności.
Zobacz też
- Node.js
- Deno
- Yarn
Przypisy
- 1 2 Matthew Tyson: Explore Bun.js: The all-in-one JavaScript runtime. InfoWorld, 23 luty 2023. [dostęp 2024-04-06]. (ang.).
- 1 2 Mayank Choubey, The Internals of Deno [online], Tech Tonic, 6 kwietnia 2023 [dostęp 2024-04-05] (ang.).
- ↑ What is Bun?, [w:] Bun Docs, Bun [dostęp 2024-04-05] (ang.).
- ↑ Timilehin Omolana: What Is Bun.js and Why Is the JavaScript Community Excited About It?. makeuseof.com, 2022-08-02. [dostęp 2023-05-30]. (ang.).
- ↑ Craig Buckler, An Introduction to the Bun JavaScript Runtime [online], SitePoint, 26 września 2023 [dostęp 2024-04-05] (ang.).
- ↑ The V8 JavaScript Engine [online], nodejs.org [dostęp 2024-04-05] (ang.).
- 1 2 The Bun Bundler. Bun, 2023-05-16. [dostęp 2024-04-03]. (ang.).
- ↑ Bun APIs – Runtime, [w:] Bun Docs, Bun [dostęp 2024-04-05] (ang.).
- 1 2 Bun 1.1. Bun, 2024-04-01. [dostęp 2024-04-03]. (ang.).
- 1 2 Tim Anderson: Bun 1.1 released with Windows support, stable WebSocket client and more • DEVCLASS. DEVCLASS, 2024-04-02. [dostęp 2024-04-03]. (ang.).
Linki zewnętrzne
- Bun.sh — oficjalna witryna [online], Bun (ang.).
- oven-sh/bun [online], GitHub, 5 kwietnia 2024 (ang.).