Boa (JavaScript engine) explained

Boa
Logo Size:64px
Developer:Boa Developers
Author:Jason Williams
Latest Release Version:v0.19[1] /
Programming Language:Rust[2]
Platform:x86-64, 32-bit ARM, AArch64
Genre:JavaScript and WebAssembly engine
License:MIT

Boa is an open-source JavaScript engine written in Rust. Boa was introduced at JSConf EU 2019 by Jason Williams.[3] [4]

Williams created Boa in 2017 after working on Servo and being inspired by the "written from scratch" CSS engine.[5] He was eager to work on a JavaScript engine using Rust to learn more about how JavaScript implementations work, since then the project has had over 100 contributors.[6] Overtime the engine gained more prominent features such as bytecode compilation,[7] better conformance to the specification and ergonomic API design.

Design

Boa is an open-source implementation of a JavaScript execution engine. The project is developed as a Rust library for embedding the JavaScript engine in Rust applications. Additionally, the authors of Boa provide a command-line interface (CLI) for users to interact with Boa as standalone JavaScript interpreter accessible from a command line.[8]

Boa follows the common interpreter design which approximately consists of a lexer, parser, compiler and bytecode interpreter

Standards

Boa implements the ECMA-262 specification (ECMAScript). As of 6 September 2024 Boa has 88% conformance to Test262[9]

See also

Notes and References

  1. Web site: Boa release v0.19 . boajs.dev . en . 9 July 2024.
  2. Web site: About Boa Boa JS . boajs.dev . Boa Developers . 15 October 2024 . en.
  3. Web site: Williams . Jason . Let's build a JavaScript Engine in Rust by Jason Williams - JSConf EU 2019 . YouTube . JS Conf EU . 15 October 2024 . 20 June 2019.
  4. Web site: Jason Williams . Let's build a JavaScript Engine . 2019.jsconf.eu . JS Conf EU . 25 February 2024 . https://web.archive.org/web/20240225094308/https://2019.jsconf.eu/jason-williams/lets-build-a-javascript-engine.html . 25 February 2024 . en.
  5. Web site: Hacking & Contributing to Servo On Windows – Mozilla Hacks - the Web developer blog . Mozilla Hacks – the Web developer blog.
  6. Web site: Contributors to boa-dev/boa . GitHub . en.
  7. Web site: Boa release v0.14 . boajs.dev . en . 15 March 2022.
  8. Web site: Munsters . Aäron . BoaSpect . Vrije Universiteit Brussel . 15 October 2024.
  9. Web site: test262.fyi . test262.fyi . 6 September 2024 . https://web.archive.org/web/20240906171312/http://test262.fyi/ . 6 September 2024 . 6 September 2024.