-
Ion은 Rust 애플리케이션 안에 JavaScript 엔진을 임베드할 수 있게 설계된 오픈소스 런타임
- 플러그인 시스템, 서버 사이드 렌더링(SSR), 서버리스 함수 실행(FaaS) 환경 구축 가능
-
Tokio 기반 이벤트 루프, 멀티스레드 지원, 쓰기쉬운 고수준 API(napi-rs처럼) 를 제공
- 확장 가능한 구조로 표준 라이브러리·확장 모듈·전처리기를 쉽게 추가 가능
- 기존 런타임(Node.js, Deno, Bun)과의 차이
-
Node.js: 외부 동적 라이브러리(libnode)에 의존, 정적 라이브러리 빌드 불가, C FFI 미지원
-
Deno: Rust 기반이지만, 표준 라이브러리 접근이 CLI와 강하게 결합되어 재사용 불편
-
Bun: 임베딩 자체 불가
- Ion.js는 이 런타딤들의 임베딩 제약을 피하고 가볍고 조합 가능한 구조를 취해 배포 단순성과 사용자 친화적 API를 제공
- Rust 프로젝트에 경량·유연한 JS 실행 환경을 추가할 수 있으며, 다중 스레드 기반 서버나 빌드 툴에서 안전하게 JS 호출이 가능