14 points par xguru 2025-10-05 | 2 commentaires | Partager sur WhatsApp
  • Ion est un runtime open source conçu pour embarquer un moteur JavaScript dans des applications Rust
  • Il permet de mettre en place un système de plugins, le rendu côté serveur (SSR) et un environnement d’exécution de fonctions serverless (FaaS)
  • Il fournit une boucle d’événements basée sur Tokio, la prise en charge du multithreading et une API de haut niveau facile à utiliser (comme napi-rs)
  • Grâce à une architecture extensible, il est facile d’ajouter une bibliothèque standard, des modules d’extension et des préprocesseurs
  • Différences avec les runtimes existants (Node.js, Deno, Bun)
    • Node.js : dépend d’une bibliothèque dynamique externe (libnode), ne permet pas de compiler une bibliothèque statique et ne prend pas en charge la C FFI
    • Deno : basé sur Rust, mais l’accès à la bibliothèque standard est fortement couplé à la CLI, ce qui complique la réutilisation
    • Bun : ne permet pas l’embarquement lui-même
  • Ion.js évite les contraintes d’embarquement de ces runtimes et adopte une architecture légère et composable, offrant une simplicité de déploiement et une API conviviale
  • Il permet d’ajouter à un projet Rust un environnement d’exécution JS léger et flexible, et d’appeler JavaScript en toute sécurité dans des serveurs multithreadés ou des outils de build

2 commentaires

 
shakespeares 2025-10-07

Je me demande aussi s’il y aura vraiment souvent l’occasion de s’en servir grâce à l’IA.
Je me dis aussi qu’il ne serait pas plus avantageux de convertir du JS en Rust pour l’utiliser.
Est-ce que ce serait utile quand on veut réutiliser des bibliothèques JS depuis Rust ?

 
selene 2025-11-27

Ça pourrait aussi être utile quand on veut implémenter des fonctionnalités de type processor comme dans filebeat..
https://www.elastic.co/docs/reference/beats/filebeat/processor-script