14 puntos por xguru 2025-10-05 | 2 comentarios | Compartir por WhatsApp
  • Ion es un runtime de código abierto diseñado para embeber un motor de JavaScript dentro de aplicaciones Rust
  • Permite construir entornos de sistema de plugins, renderizado del lado del servidor (SSR) y ejecución de funciones serverless (FaaS)
  • Ofrece un event loop basado en Tokio, soporte multihilo y una API de alto nivel fácil de usar (como napi-rs)
  • Gracias a su estructura extensible, se pueden agregar fácilmente biblioteca estándar, módulos de extensión y preprocesadores
  • Diferencias frente a runtimes existentes (Node.js, Deno, Bun)
    • Node.js: depende de una biblioteca dinámica externa (libnode), no permite compilación como biblioteca estática y no soporta C FFI
    • Deno: aunque está basado en Rust, el acceso a la biblioteca estándar está fuertemente acoplado al CLI, lo que dificulta su reutilización
    • Bun: no permite embeberlo en absoluto
  • Ion.js evita las limitaciones de embedding de estos runtimes y adopta una arquitectura ligera y componible para ofrecer simplicidad en el despliegue y una API amigable para el usuario
  • Puede añadir un entorno ligero y flexible de ejecución de JS a proyectos Rust, y permite invocar JS de forma segura en servidores basados en múltiples hilos o herramientas de build

2 comentarios

 
shakespeares 2025-10-07

Con la IA, me pregunto si realmente habrá muchas ocasiones para usarlo.
También me da la impresión de que quizá sería más conveniente convertir JS a Rust para usarlo.
¿Será útil cuando quieras reutilizar librerías de JS desde Rust?

 
selene 2025-11-27

Parece que podría ser útil cuando quieras implementar una función tipo processor como en filebeat..
https://www.elastic.co/docs/reference/beats/filebeat/processor-script