Andromeda - Rust로 구현된 JavaScript/TypeScript 런타임
(tryandromeda.dev)- Rust로 된 JavaScript/WebAssembly 엔진인 Nova와 JS 컴파일러인 Oxc 기반으로 빠른 실행 속도와 안전성을 제공
- Zero-config TypeScript 지원, GPU 가속 2D Canvas API, Web Crypto, SQLite, Web Storage 등 포괄적 Web API를 지원
- 개발자를 위한 통합 툴체인(REPL, 포매터, 번들러, 단일 실행 파일 컴파일러)과 LSP를 내장하여 각종 에디터에서 이용 가능
- 기존 Node.js, Deno와 비교해 메모리 사용량이 더 적고, TypeScript와 그래픽 처리, 단일 파일 컴파일 등에서 우위를 가짐
- 차세대 웹 애플리케이션, 데이터 시각화, 게임, 고성능 스크립트, 웹 서비스, 과학 컴퓨팅까지 지원하는 범용 런타임
기술 사양
- 아키텍처: Rust 기반 런타임, Nova 엔진, 멀티스레드 모델, 제로 카피 데이터 구조
- 웹 표준: WHATWG Fetch API, W3C Canvas 2D, Web Crypto, TextEncoder/Decoder, WinterTC 준수
- 성능: 10ms 이하 시작시간, 하드웨어 가속, 최적화된 메모리 관리 및 모듈 해석
- 보안: 샌드박스 실행, 권한 기반 API, Rust 안전성, 안전한 암호화 제공
- 플랫폼 지원: Linux, macOS(Intel/Apple Silicon), Windows, Docker, 크로스 컴파일
Node.js, Deno와의 비교
- 메모리 사용량: Andromeda ~12MB, Node.js ~40MB, Deno ~25MB
- TypeScript: Andromeda는 기본 내장, Node.js는 추가 설정 필요, Deno는 네이티브 지원
- 그래픽: Andromeda는 GPU 가속 Canvas 지원, Node.js 미지원, Deno 부분 지원
- 단일 파일 컴파일: Andromeda는 네이티브, Node.js 서드파티, Deno 내장
- 보안 모델: Andromeda는 메모리 안전 + 권한 기반, Node.js는 런타임 체크 중심
GeekNews Weekly에 포함된 글입니다.
에디터 코멘트 보기
댓글과 토론
수많은 npm 라이브러리 생태계와 어떻게 통합하느냐가 이런 프로젝트의 성공 포인트로 보입니다... nodejs와 동일한 API 스펙으로 개발하되, 런타임만 바꾸면되도록... 기존 개발/운영중인 코드베이스를 변경 비용을 최소화하고, 호환되게 한다면... 근데 애초에 nodejs도 메모리를 많이 쓰지를 않아서 ㅎㅎ