The topic of this article may not meet Misplaced Pages's general notability guideline. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted. Find sources: "Boa" JavaScript engine – news · newspapers · books · scholar · JSTOR (October 2024) (Learn how and when to remove this message) |
Original author(s) | Jason Williams |
---|---|
Developer(s) | Boa Developers |
Initial release | 10 June 2019; 5 years ago (2019-06-10) |
Stable release | v0.20 / 5 December 2024; 28 days ago (2024-12-05) / () |
Repository | github |
Written in | Rust |
Platform | x86-64, 32-bit ARM, AArch64 |
Type | JavaScript and WebAssembly engine |
License | MIT |
Website | boajs |
Boa is an open-source JavaScript engine written in Rust. Boa was introduced at JSConf EU 2019 by Jason Williams.
Williams created Boa in 2017 after working on Servo and being inspired by the "written from scratch" CSS engine. 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. Overtime the engine gained more prominent features such as bytecode compilation, 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.
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
See also
- JerryScript, an ultra-lightweight JavaScript engine
- SpiderMonkey, a JavaScript engine used in Firefox
- List Of ECMAScript engines
References
- ^ "Boa release v0.19". boajs.dev. 5 December 2024.
- ^ "About Boa | Boa JS". boajs.dev. Boa Developers. Retrieved 15 October 2024.
- ^ 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.
- ^ 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.
- ^ Munsters, Aäron. "BoaSpect" (PDF). Vrije Universiteit Brussel. Retrieved 15 October 2024.
- "test262.fyi". test262.fyi. 6 September 2024. Archived from the original on 6 September 2024. Retrieved 6 September 2024.