Boa (JavaScript engine)
| Original author(s) | Jason Williams |
|---|---|
| Developer(s) | Boa Developers |
| Initial release | 10 June 2019 |
| Stable release | v0.20[1] / 5 December 2024
/ Error: first parameter is missing. |
| Repository | github |
| Written in | Rust[2] |
| Engine | |
| Platform | x86-64, 32-bit ARM, AArch64 |
| Type | JavaScript |
| License | MIT |
| Website | boajs |
Search Boa (JavaScript engine) on Amazon.
Boa is an open-source JavaScript engine written in Rust.[2] 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][4] 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.[3][6] Over time the engine gained more prominent features such as bytecode compilation,[7] better conformance to the specification and ergonomic API design.[1]
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 a 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[8]
Standards
Boa implements the ECMA-262 specification (ECMAScript). As of 17th August 2025 Boa has 94.6% conformance to Test262[9]
Temporal
In September 24th 2025 Boa launched Temporal_rs, a library which implements the Temporal proposal in ECMAScript.[10] This implementation is used within the V8 (JavaScript engine) making it the first piece of Rust code which V8 have integrated.[11][12]
See also
- JerryScript, an ultra-lightweight JavaScript engine
- SpiderMonkey, a JavaScript engine used in Firefox
- List Of ECMAScript engines
References
- ↑ 1.0 1.1 "Boa release v0.19". boajs.dev. 5 December 2024.
- ↑ 2.0 2.1 "About Boa | Boa JS". boajs.dev. Boa Developers. 15 October 2024. Retrieved 15 October 2024.
- ↑ 3.0 3.1 Williams, Jason (20 June 2019). "Let's build a JavaScript Engine in Rust by Jason Williams - JSConf EU 2019". YouTube. JS Conf EU. Retrieved 15 October 2024.
- ↑ 4.0 4.1 Jason Williams. "Let's build a JavaScript Engine". 2019.jsconf.eu. JS Conf EU. Archived from the original on 25 February 2024. Retrieved 25 February 2024.
- ↑ "Hacking & Contributing to Servo On Windows – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog.
- ↑ "Contributors to boa-dev/boa". GitHub.
- ↑ "Boa release v0.14". boajs.dev. 15 March 2022.
- ↑ 8.0 8.1 Munsters, Aäron. "BoaSpect" (PDF). Vrije Universiteit Brussel. Retrieved 15 October 2024.
- ↑ "test262.fyi". test262.fyi. 17 August 2025. Archived from the original on 17 August 2025. Retrieved 6 September 2024.
- ↑ "Temporal_rs is here! The datetime library powering Temporal in Boa, Kiesel, and V8 | Boa JS". boajs.dev. 2025-09-24. Retrieved 2025-09-27.
- ↑ "Chrome Platform Status". chromestatus.com. Retrieved 2025-09-27.
- ↑ "Cross-Engine Contributions at Scale: How newcomers accelerated Temporal and Upsert in SpiderMonkey, V8, and Boa" (PDF). Web Engines Hackfest. 2 June 2025.
This article "Boa (JavaScript engine)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Boa (JavaScript engine). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
