Repolode
boa-dev

boa-dev/boa

Rust로 작성된 임베디드 JavaScript 엔진으로, 렉서·파서·인터프리터를 제공하며 ECMAScript 사양을 폭넓게 지원합니다.

스타
7,659
포크
687
열린 이슈
223
마지막 커밋
6일 전

어떤 프로젝트인가요?

Boa는 Rust로 작성된 JavaScript 렉서, 파서, 인터프리터입니다. 최신 ECMAScript 사양의 90% 이상을 구현하는 것을 목표로 하며, Test262 테스트 스위트를 기준으로 지속적으로 적합성 작업을 진행하고 있습니다.

이 엔진은 여러 Rust 크레이트로 배포됩니다. 메인 크레이트인 boa_engine을 사용하면 Rust 애플리케이션에서 실행 컨텍스트를 만들고 JavaScript 소스 코드를 바로 평가할 수 있습니다. 함께 제공되는 크레이트에는 AST, 파서, 가비지 컬렉터, 문자열 인터너, WebAPI 스타일의 런타임 기능이 포함되어 있으며, 터미널에서 JS 파일을 실행할 수 있는 CLI와 REPL도 제공됩니다.

Boa는 WebAssembly로 컴파일할 수 있으며, 브라우저에서 사용할 수 있는 라이브 플레이그라운드도 제공합니다. README에는 wasm32-unknown-unknown 타깃을 위한 별도 설정이 설명되어 있는데, 여기에는 feature flag 활성화와 getrandom 설정이 포함됩니다.

핵심 기능

  • 01Rust로 작성된 JavaScript 렉서, 파서, 인터프리터입니다.
  • 02최신 ECMAScript 사양의 90% 이상을 목표로 합니다.
  • 03간단한 eval API를 제공하는 boa_engine 크레이트를 통해 임베드할 수 있습니다.
  • 04AST 덤프와 옵티마이저 옵션을 지원하는 CLI와 REPL을 포함합니다.
  • 05WebAssembly로 컴파일할 수 있으며 브라우저 플레이그라운드를 제공합니다.

활용 사례

  • C++ 엔진에 의존하지 않고 Rust 애플리케이션에서 JavaScript를 실행합니다.
  • 샌드박스 처리된 Rust 호스트에서 사용자가 제공한 스크립트나 표현식을 평가합니다.
  • JavaScript 언어 구현이나 엔진 내부를 실험합니다.
  • WebAssembly 환경에서 JavaScript를 실행합니다.

빠른 시작

  1. 1

    Cargo.toml에 boa_engine crate를 추가합니다

    cargo add boa_engine
  2. 2

    예제 코드를 main.rs에 복사합니다

  3. 3

    프로젝트를 실행합니다

    cargo run

사용 전 알아둘 점

  • 제작자가 실험 단계라고 설명하고 있어 아직 프로덕션 환경에 적합하지 않을 수 있습니다.
  • 아직 ECMAScript 사양을 완전히 준수하지 않으며, 90% 이상을 지원한다고 합니다.

토픽

자주 묻는 질문

boa은(는) 무엇인가요?
Rust로 작성된 임베디드 JavaScript 엔진으로, 렉서·파서·인터프리터를 제공하며 ECMAScript 사양을 폭넓게 지원합니다. Boa는 Rust로 작성된 JavaScript 렉서, 파서, 인터프리터입니다. 최신 ECMAScript 사양의 90% 이상을 구현하는 것을 목표로 하며, Test262 테스트 스위트를 기준으로 지속적으로 적합성 작업을 진행하고 있습니다.
boa은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
boa은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
boa은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. boa의 마지막 커밋은 2026년 10월 31일입니다.
boa은(는) 어디에 사용할 수 있나요?
C++ 엔진에 의존하지 않고 Rust 애플리케이션에서 JavaScript를 실행합니다. 샌드박스 처리된 Rust 호스트에서 사용자가 제공한 스크립트나 표현식을 평가합니다. JavaScript 언어 구현이나 엔진 내부를 실험합니다. WebAssembly 환경에서 JavaScript를 실행합니다.
boa는 어떻게 설치하나요?
Cargo.toml에 boa_engine crate를 추가합니다: cargo add boa_engine 예제 코드를 main.rs에 복사합니다 프로젝트를 실행합니다: cargo run
boa은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/boa-dev/boa

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

실행 중인 JavaScript를 일시 중지하고 전체 힙을 스냅샷으로 저장한 뒤 다른 프로세스에서 재개할 수 있으며, TypeScript를 기본 지원하는 QuickJS 포크입니다.

개발 도구#javascript-engine#typescript#embeddable
476+24 이번 주12COther활발히 관리됨업데이트 4일 전