Ant, 경량 JavaScript 런타임과 생태계
9 hours ago
2
- 자체 개발한 Ant Silver 엔진으로 실제 npm 패키지를 실행하며, 약 8.6MB의 단일 바이너리와 빠른 시작 속도를 내세움
- V8·JSC·SpiderMonkey를 감싼 구조가 아니며, compat-table 100% 와 WinterTC 준수를 표시하고 Hono·Elysia·TypeScript·React·Rolldown·Wasm 등을 지원함
- Hono를 불러와 라우트 2개를 등록한 뒤 종료하는 콜드 스타트 측정에서 5.4ms를 기록해 Bun 12.8ms, Deno 24.8ms, Node.js 31.1ms보다 짧았음
- 패키지를 npm보다 최대 40배 빠르게 설치하며, TypeScript 직접 실행과 기본 fetch export 서빙으로 별도 빌드나 프레임워크 어댑터가 필요 없음
- 신뢰할 수 없는 코드를 위한 VM 격리 샌드박스와 npm 프로토콜 호환 공개 레지스트리 ants.land를 제공하며, macOS·Linux의 arm64 및 x86_64에서 별도 툴체인 없이 사용할 수 있음
자체 엔진과 빠른 개발 흐름
- Ant는 처음부터 구축한 고성능 JavaScript 런타임으로, Ant Silver 엔진을 포함한 약 8.6MB의 휴대용 단일 바이너리로 배포됨
- V8·JSC·SpiderMonkey 기반 래퍼가 아님
- compat-table에서 100%를 기록하며 WinterTC Conformant로 표시됨
- Hono·Elysia·TypeScript·React·Rolldown·WinterTC·Wasm 생태계를 실행함
-
콜드 스타트 성능
- Hono를 불러오고 라우트 2개를 등록한 뒤 종료해 모듈 해석과 초기화 비용만 측정함
- Ant: 5.4ms
- Bun: 12.8ms
- Deno: 24.8ms
- Node.js: 31.1ms
-
패키지 설치
- ant i hono 명령으로 패키지를 설치할 수 있으며, 예시에서는 hono@latest 1개 설치가 155ms에 끝남
- npm보다 최대 40배 빠른 설치 속도를 내세우며, 별도 패키지 관리 도구를 설정할 필요가 없음
-
서버와 TypeScript 실행
- 파일의 기본 fetch export를 서버로 제공하므로 Hono 같은 프레임워크를 어댑터 없이 실행할 수 있음
- TypeScript 파일은 ant app.ts로 직접 실행 가능함
- tsconfig 조정이나 번들러, dist 디렉터리, tsc && node dist/app.js 단계가 필요 없음
격리 실행과 패키지 생태계
-
VM 기반 샌드박스
- ant:sandbox의 Sandbox는 단순한 권한 확인을 넘어 VM 격리 경계 안에서 신뢰할 수 없는 JavaScript를 실행함
- 각 샌드박스는 독립적인 KVM 또는 Hypervisor.framework VM을 사용함
- 파일시스템 마운트는 명시적으로 쓰기 권한을 부여하지 않으면 읽기 전용으로 유지됨
- 네트워크는 기본적으로 모두 차단되고 지정한 포트만 전달함
-
공개 패키지 레지스트리
- ants.land는 Ant용 공개 패키지 레지스트리임
- npm 프로토콜을 사용해 Ant뿐 아니라 npm·Yarn·pnpm·Bun에서도 접근 가능함
- 패키지는 스코프 또는 일반 이름으로 설치하며, esm.ants.land를 통해 브라우저에서도 사용할 수 있음
- ant land login으로 로그인하고 ant land publish로 패키지를 배포함
- 레지스트리 정보에는 문서·라이선스·호환성을 반영한 0~100점이 포함됨
- macOS와 Linux의 arm64 및 x86_64를 지원하며 별도 툴체인이 필요 없음
-
Homepage
-
Tech blog
- Ant, 경량 JavaScript 런타임과 생태계