14 pontos por xguru 2025-10-05 | 2 comentários | Compartilhar no WhatsApp
  • Ion é um runtime open source projetado para permitir embutir um motor JavaScript dentro de aplicações Rust
  • Permite construir ambientes de sistema de plugins, renderização no lado do servidor (SSR) e execução de funções serverless (FaaS)
  • Fornece loop de eventos baseado em Tokio, suporte a multithreading e API de alto nível fácil de usar (como napi-rs)
  • Com uma arquitetura extensível, é possível adicionar facilmente biblioteca padrão, módulos de extensão e pré-processadores
  • Diferenças em relação aos runtimes existentes (Node.js, Deno, Bun)
    • Node.js: depende de biblioteca dinâmica externa (libnode), não permite build de biblioteca estática e não oferece suporte a C FFI
    • Deno: embora seja baseado em Rust, o acesso à biblioteca padrão é fortemente acoplado ao CLI, o que dificulta a reutilização
    • Bun: não permite embedding
  • O Ion.js evita as limitações de embedding desses runtimes e adota uma estrutura leve e combinável, oferecendo simplicidade na implantação e API amigável ao usuário
  • Ele permite adicionar um ambiente de execução JS leve e flexível a projetos Rust, além de possibilitar chamadas seguras de JS em servidores baseados em múltiplas threads ou ferramentas de build

2 comentários

 
shakespeares 2025-10-07

Graças à IA, até fico pensando se realmente vai haver muita ocasião para usar isso.
Também penso se não seria mais vantajoso converter JS para Rust e usar dessa forma.
Talvez seja útil quando se quiser aproveitar bibliotecas JS no Rust?

 
selene 2025-11-27

Parece que pode ser útil quando se tenta implementar uma funcionalidade tipo processor, como no filebeat.. https://www.elastic.co/docs/reference/beats/filebeat/processor-script