Andromeda - In Rust implementierte JavaScript/TypeScript-Laufzeit
(tryandromeda.dev)- Basiert auf Nova, einer in Rust geschriebenen JavaScript/WebAssembly-Engine, sowie dem JS-Compiler Oxc und bietet hohe Ausführungsgeschwindigkeit und Sicherheit
- Unterstützt Zero-Config-TypeScript, GPU-beschleunigte 2D-Canvas-API, Web Crypto, SQLite, Web Storage und weitere umfassende Web-APIs
- Mit integrierter Toolchain für Entwickler (REPL, Formatter, Bundler, Compiler für einzelne ausführbare Dateien) sowie eingebautem LSP, nutzbar in verschiedenen Editoren
- Gegenüber Node.js und Deno mit geringerem Speicherverbrauch sowie Vorteilen bei TypeScript, Grafikverarbeitung und der Kompilierung einzelner Dateien
- Eine universelle Laufzeit, die Next-Generation-Webanwendungen, Datenvisualisierung, Spiele, High-Performance-Skripte, Web-Services und wissenschaftliches Rechnen unterstützt
Technische Spezifikationen
- Architektur: Rust-basierte Laufzeit, Nova-Engine, Multithread-Modell, Zero-Copy-Datenstrukturen
- Web-Standards: WHATWG Fetch API, W3C Canvas 2D, Web Crypto, TextEncoder/Decoder, WinterTC-konform
- Leistung: Startzeit unter 10 ms, Hardwarebeschleunigung, optimiertes Speichermanagement und Modulauflösung
- Sicherheit: Sandbox-Ausführung, berechtigungsbasierte APIs, Rust-Sicherheit, sichere Kryptografie
- Plattformunterstützung: Linux, macOS (Intel/Apple Silicon), Windows, Docker, Cross-Compilation
Vergleich mit Node.js und Deno
- Speicherverbrauch: Andromeda ~12MB, Node.js ~40MB, Deno ~25MB
- TypeScript: Bei Andromeda standardmäßig integriert, bei Node.js zusätzliche Konfiguration erforderlich, Deno mit nativer Unterstützung
- Grafik: Andromeda unterstützt GPU-beschleunigtes Canvas, Node.js nicht unterstützt, Deno teilweise unterstützt
- Kompilierung einzelner Dateien: Bei Andromeda nativ, bei Node.js über Drittanbieter, bei Deno integriert
- Sicherheitsmodell: Andromeda mit Speichersicherheit + berechtigungsbasiert, Node.js primär mit Laufzeitprüfungen
8 Kommentare
So etwas wie Node.js an andere Anwendungen zu binden, ist ziemlich umständlich; es wäre schön, wenn das etwas einfacher wäre.
In letzter Zeit taucht wirklich viel zu Rust auf..
Selbst Bun ist noch weit davon entfernt, zu 100 % mit der Node.js-API kompatibel zu sein — wie lange wird das hier wohl dauern?
Der entscheidende Erfolgsfaktor solcher Projekte scheint zu sein, wie sie sich in das riesige Ökosystem der npm-Bibliotheken integrieren ... also mit derselben API-Spezifikation wie nodejs entwickeln, sodass man nur die Runtime austauschen muss ... wenn sich die Änderungskosten für bestehende, bereits entwickelte und betriebene Codebases minimieren lassen und die Kompatibilität gewährleistet ist ... allerdings verbraucht nodejs von Haus aus auch gar nicht so viel Speicher, haha
Also ein JavaScript-Runtime, das nicht V8 verwendet? Wow.
https://de.news.hada.io/topic?id=17845
In dem obigen Artikel wird diese Engine erklärt!
Warum gibt es keine Erwähnung von Bun ...
Ja, genau, das war auch mein erster Gedanke beim Lesen.