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를 지원하며 별도 툴체인이 필요 없음
Read Entire Article