Jump to content

Boa (JavaScript engine)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by JaseW (talk | contribs) at 15:04, 15 October 2024 (Created page with '{{Infobox software | name = Boa | logo = Boa logo in black.svg | logo size = 64px | screenshot = | developer = Boa Developers | caption = | released = {{start date and age|2019|6|10|df=y}} | latest release version = {{wikidata|property|edit|reference|P548=Q2804309|P348}} | latest release date = {{start date and age|{{wikidata|qualifier|single|P548=Q2804...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Boa
Developer(s)Boa Developers
Initial release10 June 2019; 6 years ago (2019-06-10)
Repositoryhttps://github.com/boa-dev/boa
Written inRust[1]
Platformx86-64, 32-bit ARM, AArch64
TypeJavaScript and WebAssembly engine
LicenseMIT
Websitehttps://boajs.dev

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

Williams created Boa in 2017 to learn Rust, learn more about how JavaScript implementations work, since then the project has had over 100 contributors.[2][3] Overtime the engine gained more prominent features such as bytecode compilation[4], better improved for the specification[5] and API ergonomics[6]

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.[7]

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

Standards

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

See also

References

  1. ^ a b "About Boa | Boa JS". boajs.dev. Boa Developers. Retrieved 15 October 2024.
  2. ^ a b 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.
  3. ^ "Contributors to boa-dev/boa". GitHub.
  4. ^ "Boa release v0.14". boajs.dev. 15 March 2022.
  5. ^ "Boa release v0.15". boajs.dev. 10 June 2022.
  6. ^ "Boa release v0.19". boajs.dev. 9 July 2024.
  7. ^ a b Munsters, Aäron. "BoaSpect" (PDF). Vrije Universiteit Brussel. Retrieved 15 October 2024.
  8. ^ "test262.fyi". test262.fyi. 6 September 2024. Archived from the original on 6 September 2024. Retrieved 6 September 2024.