>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
C

Eine Ameise in einer Welt voller Elefanten – Warum Sie sich die Ant-Runtime genauer ansehen sollten

Stellen Sie sich vor, Sie verpacken einen Docker-Container für eine einfache Cloud-Funktion. Sie schreiben zehn Zeilen JavaScript-Code und erhalten ein Image, das mehrere hundert Megabyte groß ist. Das meiste Gewicht kommt von Node.js. Wir haben uns an diesen „Infrastruktur-Steuer" gewöhnt, aber ein Entwickler namens theMackabu entschied, dass es Zeit für eine Veränderung ist. Sein Projekt Ant ist ein Versuch, eine JavaScript-Runtime zu schaffen, die nur 8 MB wiegt, aber fliegen kann.

Was es ist und warum Sie es brauchen

Ant ist eine leichtgewichtige JavaScript-Runtime, die von Grund auf in C geschrieben wurde. Der Autor verwendete keine bestehende Engine wie V8 (wie in Node.js oder Deno) oder JavaScriptCore (wie in Bun). Stattdessen schrieb er seine eigene Engine namens Ant Silver.

Warum sich die Mühe machen, wenn Giganten bereits existieren? Die Antwort liegt in den Zahlen. Node.js „out of the box" wiegt etwa 120 MB. Ant nimmt in einer Standard-Build 8 MB ein und kann auf 4 MB schrumpfen, wenn es mit Größenoptimierung kompiliert wird. Das macht es zu einem idealen Kandidaten für Edge Computing, eingebettete Systeme und CLI-Tools, wo jedes Megabyte und jede Millisekunde zählt.

Cold Start, der beeindruckt

Einer der Hauptschmerzpunkte in der serverlosen Architektur ist der „Cold Start" – die Zeit, die eine Plattform benötigt, um die Runtime zu starten und Ihren Code auszuführen. Während Node.js etwa 30 ms zur Initialisierung braucht, erledigt Ant das in nur 5 ms.

Die Benchmarks des Projekts verwenden Hono – ein beliebtes Framework für die Erstellung von APIs. Ant lädt Hono, registriert Routes und beendet zweimal schneller als Bun und fünfmal schneller als Node.js. Natürlich ist dies ein synthetischer Startup-und-Exit-Test, aber er zeigt deutlich, wie viel weniger Overhead die Runtime während der Initialisierung hat.

Technische Interna

Eine eigene JS-Engine solo zu bauen klingt verrückt, aber es gibt einige clevere Lösungen. Die Ant Silver Engine verwendet einen JIT-Compiler basierend auf MIR. Dieses leichtgewichtige Backend ermöglicht es JavaScript-Code, mit Geschwindigkeiten nahe an kompilierten Sprachen ausgeführt zu werden, ohne Gigabytes RAM für den Optimierer zu benötigen.

Das Projekt zielt auf den WinterTC-Standard (Minimum Common API) ab. Dies ist ein Versuch, Code, der für eine serverseitige JS-Umgebung geschrieben wurde, unverändert in einer anderen auszuführen. Derzeit besteht Ant die Kompatibilitätstests für ES1–ES6 und nachfolgende Spezifikationen vollständig (15.011 Tests von 15.011). In umfassenderen Tests liegt die Abdeckung test262 derzeit bei etwa 64%. Der Autor gibt offen zu, dass die Arbeit im Gange ist, mit Fokus auf die Funktionen, die Entwickler tatsächlich brauchen.

Wo es eingesetzt werden kann

Ich sehe mehrere Szenarien, in denen Ant bereits Wirkung zeigen könnte:

  1. Micro-CLI-Tools. Wenn Sie ein kleines Utility für Kollegen schreiben, das schnell heruntergeladen und ausgeführt werden muss, sieht ein 4 MB großes Binary viel ansprechender aus als eine Node.js-Installation.
  2. Edge Computing. In verteilten Netzwerken, wo Code so nah wie möglich am Benutzer läuft, wirken sich der kleine Footprint und der schnelle Start direkt auf die Latenz aus.
  3. IoT und eingebettete Systeme. Wo Speicherressourcen begrenzt sind, passt reguläres Node.js einfach nicht hinein, während sich Ant ziemlich zu Hause fühlen wird.

Wie Sie es ausprobieren

Die Installation ist Standard für Tools wie dieses:

curl -fsSL https://antjs.org/install | bash

Wenn Sie einen Blick unter die Haube werfen und es selbst bauen möchten, benötigen Sie einen C-Compiler. Das Projekt entwickelt sich aktiv weiter, und der Autor pflegt einen interessanten Blog über Implementierungsdetails, in dem er erklärt, wie es der Ameise gelingt, das 50-fache ihres eigenen Gewichts zu tragen.

Sollten Sie heute schon umsteigen?

Seien wir ehrlich: Ant ist noch ein ehrgeiziges Experiment. Wenn Ihre Arbeit von spezifischen Node.js-Native-Modulen oder dem riesigen NPM-Ökosystem abhängt, das auf V8-Interna setzt, werden Sie auf Probleme stoßen.

Wenn Sie jedoch ein minimalistisches Tool zum Ausführen von JS unter bestimmten Bedingungen benötigen oder einfach die Schwerfälligkeit moderner Lösungen leid sind – geben Sie diesem Repository einen Stern. Dies ist ein seltenes Beispiel dafür, wie eine einzelne Person die architektonische Aufblähung der Branche herausfordert. Selbst wenn Ant Node.js nicht ersetzt, wird es andere Runtime-Entwickler definitiv zum Nachdenken über Optimierung bringen.

Ähnliche Projekte