Ion.js - Rust용 고성능 JavaScript 런타임
(github.com/alshdavid)- 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 호출이 가능
AI 덕분에 잘 쓸일이 있을까 싶기도 하네요.
JS를 Rust로 변환해서 사용하는 것이 더 이롭지 않을까 생각도 들구요.
Rust에서 JS 라이브러리를 가져다 쓸 때 유용하려나요?