JavaScript ist berühmt dafür, ständig neue Frameworks und Bibliotheken zu bekommen. Im Juli 2022 begrüßte das Ökosystem ein neues Mitglied: Bun.js. Hier werfen wir einen Blick auf Bun.js und sehen, wie es das breitere JavaScript-Ökosystem beeinflusst.

Was ist Bun.js?

Brötchen ist definiert als "eine schnelle All-in-One-JavaScript-Laufzeit". Es ist das dritte seiner Art nach Node.js und Deno.js, das von Jarred Sumner mit der Programmiersprache Zig erstellt wurde.

Sein Hauptziel ist es, eine Plattform für die Ausführung von JavaScript außerhalb des Browsers bereitzustellen, genau wie Node.js und Deno.js, aber Bun schreitet voran, um ein neues Maß an Geschwindigkeit und erhöhter Komplexität bereitzustellen.

Wie sich JavaScript entwickelt hat

JavaScript wurde ursprünglich entwickelt, um nur in Browsern ausgeführt zu werden, die von Engines wie SpiderMonkey und V8 unterstützt werden. Im Jahr 2009 bettete Ryan Dahl die V8-Engine in ein C++-Programm ein, das er Node.js nannte. JavaScript wurde seitdem für verschiedene Anwendungen wie serverseitige und Echtzeitanwendungen relevant.

instagram viewer

Promises und ES-Module sind Beispiele für moderne JavaScript-Funktionen, die es bei der Erstellung von Node.js noch nicht gab. Ryan hielt 2018 auch einen Vortrag über Dinge, die er an Node.js bedauerte. Sein Bedauern inspirierte die Schaffung von Deno.js, das er 2020 veröffentlichte.

Deno ist eine ausführbare Datei, die mit Rust erstellt wurde und darauf abzielt, alle Mängel von Node wie Sicherheit, Leistung und native TypeScript-Unterstützung zu beheben. Es ist deutlich schneller und sicherer als Node und enthält Tools, die in Node.js fehlen.

Deno hat jedoch auch nach vier Jahren nach der Veröffentlichung nicht die erwartete massive Akzeptanz erreicht, da die meisten modernen Systeme bereits knotenbasiert sind und Änderungen für Entwickler ein Problem sein können. Das meiste muss neu geschrieben werden npm Pakete für den Deno-Support stellen auch deren Einführung in Frage.

Im Juli 2022 erschien eine neue Laufzeitumgebung in der Beta-Version – „Bun.js“ – die ein Trendthema innerhalb und außerhalb der JavaScript-Community war. Die Interoperabilität mit Node.js und die Hochgeschwindigkeitsleistung, die es angeblich bietet, waren das Vorzeigeobjekt. Es hat auch Diskussionen darüber ausgelöst, dass es endlich einen „Node-Destroyer“ gibt.

Wie unterscheidet sich Bun.js von Node.js und Deno.js?

Node, Deno und Bun sind alle Laufzeiten für JavaScript außerhalb des Browsers, dies neutralisiert jedoch nicht die Unterschiede zwischen ihnen.

Node.js wurde in C++ geschrieben, Deno in Rust und Bun in Zig. „Die Low-Level-Kontrolle über den Speicher und das Fehlen eines versteckten Kontrollflusses in Zig machen es einfacher, schnelle Software zu schreiben“, heißt es auf der Website von Bun.

Während Node und Deno beide die V8-Engine von Google ausführen, nutzt Bun die „Schnellstart“-Leistung von Webkit JavaScriptCore Engine, die Apples Safari verwendet. Benchmark-Ergebnisse von der Website zeigen, wie Bun sowohl Node als auch Deno in der Leistung schlägt und mindestens dreimal schneller arbeitet als beide Laufzeiten.

Bun hat npm (Node-Paketmanager) integriert, was die Paketinstallation von npm einfach und schnell macht (20-fache Geschwindigkeit in Node), es unterstützt auch TypeScript und transpiliert TS- und JSX-Dateien automatisch. Weitere aufregende Funktionen von Bun sind ein eingebauter SQLite3-Client, Web-APIs wie Fetch und WebSocket, das automatische Laden von Umgebungsvariablen und ein Test-Runner.

Von allen dreien nimmt Bun den Kuchen für die Leistung. Node bleibt das stabilste mit einer sehr großen Community, während Deno derzeit das sicherste ist.

Wird Bun.js das Ökosystem wirklich beeinflussen?

Das Ökosystem ist von Buns Veröffentlichung begeistert. Erfreulicherweise ist der Hype um Bun seit der Ankündigung riesig. Es ist absolut so eine große Sache. JavaScript-Entwickler würden es wirklich lieben, wenn man seine „blitzschnelle“ Geschwindigkeit und seine robusten Werkzeuge für die Produktivität bedenkt.

Außerdem, Buns Discord-Server hat bereits über 2000 Mitglieder, was die Begeisterung in der Community für diese neue Technologie beweist.

Was ist die Zukunft von Node.js, Deno.js und Bun.js?

JavaScript wird so schnell nicht verschwinden. In Wirklichkeit ist es eine der Technologien, von denen wir sicher sind, dass sie in 10 Jahren noch weit verbreitet sein werden. Auch Node, Deno und Bun haben eine Zukunft.

Knoten wird weiterhin regelmäßig aktualisiert, Version 18.0 gerade veröffentlicht vor kurzem, daher bleibt seine Zukunft auch mit Deno und Bun intakt. Viele Unternehmen wie PayPal verwenden Node in ihren Infrastrukturen, und sogar neue Startups ziehen nach.

Ähnlich verhält es sich mit Deno, das aktiv weiterentwickelt wird und immer größer wird. Deno entwickelt sich auch zu einer SaaS-Lösung, um verwaltete JavaScript-Laufzeitdienste bereitzustellen.

Bun.js ist immer noch instabil und wird nur eingeschränkt unterstützt (Sie benötigen Windows-Subsystem für Linux um es unter Windows auszuführen). Obwohl es so viele Fähigkeiten hat, kann es jetzt keine Option für produktionsreife Software sein, da noch viel Arbeit daran zu tun ist.

Während die Zukunft für Bun definitiv vielversprechend ist, ist es logisch zu glauben, dass diese drei Technologien höchstwahrscheinlich im Ökosystem nebeneinander existieren werden und nicht eine die andere ersetzen wird.

Bun.js könnte ein Game Changer sein

Mit Bun könnte vieles an JavaScript besser werden. Es ist wahrscheinlich an der Zeit, dass JavaScript in leistungskritischen Bereichen wie KI/ML, Spieleentwicklung usw. besser angenommen wird. Gehen Sie zum Bun.sh Website, um zu erfahren, wie man Bun installiert und mit der Entwicklung beginnt.