Misplaced Pages

Boa (JavaScript engine)

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
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)
Boa
Original author(s)Jason Williams
Developer(s)Boa Developers
Initial release10 June 2019; 5 years ago (2019-06-10)
Stable releasev0.20 / 5 December 2024; 28 days ago (2024-12-05) /  ()
Repositorygithub.com/boa-dev/boa
Written inRust
Platformx86-64, 32-bit ARM, AArch64
TypeJavaScript and WebAssembly engine
LicenseMIT
Websiteboajs.dev

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

References

  1. ^ "Boa release v0.19". boajs.dev. 5 December 2024.
  2. ^ "About Boa | Boa JS". boajs.dev. Boa Developers. Retrieved 15 October 2024.
  3. ^ 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. ^ 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.
  5. "Hacking & Contributing to Servo On Windows – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog.
  6. "Contributors to boa-dev/boa". GitHub.
  7. "Boa release v0.14". boajs.dev. 15 March 2022.
  8. ^ Munsters, Aäron. "BoaSpect" (PDF). Vrije Universiteit Brussel. Retrieved 15 October 2024.
  9. "test262.fyi". test262.fyi. 6 September 2024. Archived from the original on 6 September 2024. Retrieved 6 September 2024.
Categories: