Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Boa (JavaScript engine)

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.

We don't have any images related to Boa (JavaScript engine) yet.
We don't have any YouTube videos related to Boa (JavaScript engine) yet.
We don't have any PDF documents related to Boa (JavaScript engine) yet.
We don't have any Books related to Boa (JavaScript engine) yet.
We don't have any archived web articles related to Boa (JavaScript engine) yet.

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.10

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

Standards

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

See also

  • Free and open-source software portal
  • Internet portal

References

  1. "About Boa | Boa JS". boajs.dev. Boa Developers. Retrieved 15 October 2024. https://boajs.dev/about

  2. 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. https://www.youtube.com/watch?v=_uD2pijcSi4

  3. 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. https://web.archive.org/web/20240225094308/https://2019.jsconf.eu/jason-williams/lets-build-a-javascript-engine.html

  4. "Hacking & Contributing to Servo On Windows – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog. https://hacks.mozilla.org/2017/04/hacking-contributing-to-servo-on-windows/

  5. 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. https://web.archive.org/web/20240225094308/https://2019.jsconf.eu/jason-williams/lets-build-a-javascript-engine.html

  6. 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. https://www.youtube.com/watch?v=_uD2pijcSi4

  7. "Contributors to boa-dev/boa". GitHub. https://github.com/boa-dev/boa/graphs/contributors

  8. "Boa release v0.14". boajs.dev. 15 March 2022. https://boajs.dev/blog/2022/03/15/boa-release-14

  9. "Boa release v0.19". boajs.dev. 5 December 2024. https://boajs.dev/blog/2024/12/05/boa-release-020

  10. Munsters, Aäron. "BoaSpect" (PDF). Vrije Universiteit Brussel. Retrieved 15 October 2024. http://soft.vub.ac.be/Publications/2022/vub-soft-ms-22-01.pdf

  11. Munsters, Aäron. "BoaSpect" (PDF). Vrije Universiteit Brussel. Retrieved 15 October 2024. http://soft.vub.ac.be/Publications/2022/vub-soft-ms-22-01.pdf

  12. "test262.fyi". test262.fyi. 6 September 2024. Archived from the original on 6 September 2024. Retrieved 6 September 2024. https://web.archive.org/web/20240906171312/http://test262.fyi/