Hasty Briefsbeta

Show HN: Ion, a Rust/Tokio powered JavaScript runtime for embedders

3 days ago
  • #JavaScript
  • #Rust
  • #Embedding
  • Ion is a JavaScript runtime for embedding within Rust programs, useful for plugin systems and standalone executables.
  • Goals include an easy-to-use API, Tokio-based event loop, standard library support, multi-threading, and C FFI for embedders.
  • Includes a reference executable and examples for usage.
  • Supports executing JavaScript in isolated contexts, spawning async tasks, and calling JavaScript functions from Rust.
  • Targets use cases like plugin systems, SSR services, and FaaS servers.
  • Compares with Node.js, Deno, and Bun, highlighting limitations in embeddability and distribution.
  • Layered approach with core runtime features and user-land API for extensions.
  • Supports resolvers, extensions, and preprocessors for flexible runtime customization.
  • Built with Rust, v8, and Tokio, featuring multi-threaded execution and isolated event loops.