Bun: Javascript en TypeScript runtime-omgeving

Elwin Hodžić
0

Bun is een nieuwe runtime-omgeving voor JavaScript en TypeScript. Deze runtime-omgeving probeert een waardige tegenstander voor Node.js en Deno te zijn.

Bun Runtime-omgeving voor JavaScript en TypeScript


Krijg gratis info over software, programmeren en meer, schrijf je in voor de nieuwsbrief

Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.

Wat maakt de Bun runtimeomgeving voor Javascript en TypeScript nou uniek?

Bun streeft In tegenstelling tot Deno naar volledige compatibiliteit met Node.js. Veel Node.js-API’s worden door Bun geëmuleerd. Bovendien bevat het native ondersteuning voor npm-modules, de map node_modules en CommonJS- en ESM-indelingen. Ook kent Bun tal van moderne web-API’s uit de browser, waaronder Fetch, ReadableStream en WebSocket.

De compatibiliteit is echter in de praktijk vaak niet erg goed. Zo zijn sommige functies niet geïmplementeerd en ontbreken tal van API’s gvolledig. Het is een kwestie van geluk of een npm-module draait

Bun is net als Deno een op zichzelf staand binair pakket. Naast de runtime-omgeving bevat het ook andere tools die bundels maken, npm-modules beheren en TypeScript en JSX compileren. Toch ontbreken sommige tools voor dagelijks gebruik. Denk hierbij aan tools voor debuggen, het opmaken van code en statische code-analyse. In experimentele vorm is er tenminste één geïntegreerde testloper op basis van Jest beschikbaar. Wees hierbij wel voorzichtig met de ingebouwde functies. Desondanks dat Bun bundels maken, kan het de code nog niet verkleinen. Hiervoor heb je externe tools nodig.

De TypeScript-integratie valt ook tegen. In tegenstelling tot wat de website van Bun suggereert, is het zeker niet de officiële TypeScript-compiler. Bun verwijdert in plaats daarvan elke TypeScript-specifieke code zonder deze te inspecteren.

De geïmplementeerde UI-frameworks is vergelijkbaar hiermee. Hoewel Reacts JSX standaard wordt geïnterpreteerd, is dit niet van toepassing op andere speciale formaten zoals die van Vue of Svelte. Bovendien kan dit momenteel niet achteraf worden in gebouwd. Op het moment dat je Bun gebruikt, ben je wat betreft de gebruikersinterface gebonden aan React.

Bun is een prima runtime omgeving voor Javascript maar nog niet helemaal af

Hoewel Bun veel leuke ideeën heeft, is de inspanning om ze in het dagelijks gebruik in de praktijk te brengen erg hoog. Hierbij moet wel vermeld worden dat Bun nog een heel jong project is, dus Bun kan dit alles maar in beperkte mate worden aangerekend. Een meer evenwichtige communicatie zou echter wenselijk zijn: iedereen die beweert een “runtime-omgeving voor TypeScript” te hebben ontwikkeld, mag kritiek verwachten als de TypeScript-implementatie niet volledig af blijkt te zijn.

Ook moet er opgemerkt worden dat Bun niet bijzonder stabiel is. De HTTP-server heeft de neiging om te crashen, zelfs bij een gemiddeld driecijferig aantal gelijktijdig inkomende verbindingen. Door de korte opstarttijd is Bun in dergelijke gevallen in ieder geval snel weer gebruiksklaar.

Conclusie

Bun bevat een ingebouwde SQLite-database en biedt plaats aan .env-bestanden. Beide zijn echter nauwelijks geschikt als unique selling point in vergelijking met Node.js en Deno, vooral omdat Deno en Node.js ook evolueren. Een van Deno’s grootste ambities op dit moment is betere compatibiliteit met Node.js en npm. De tooling van Deno is volwassener dan die van Bun. Deno biedt ook echte native TypeScript-integratie. Last but not least spreken de distributie, ondersteuning en compatibiliteit in het voordeel van Node.js.

Dus als Deno het al erg moeilijk vindt om te concurreren met Node.js als de tophond onder JavaScript-runtime-omgevingen, is het nauwelijks te voorzien waar Bun zich permanent en aanzienlijk zal vestigen.

Lees meer over software in c't magazine 12/2022

Meer over

Software

Deel dit artikel

Lees ook

Windows 11 overzicht – installatie, versies, problemen en meer

Windows 11 is de opvolger van Microsofts Windows 10 besturingssysteem. Je vindt hier alle informatie en antwoorden over deze Windows-versie.

Nieuwe smartphone gekocht? Deze simkaart moet je hebben

Heb je een nieuwe smartphone en wil je weten welke soort kaart erin past? Je leest het in dit artikel.

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er