Boa (JavaScript engine): Difference between revisions
Moved page from wikipedia:en:Boa (JavaScript engine) ([[Edithistory:|history]]) |
m Moved page from wikipedia:en:Boa (JavaScript engine) ([[Edithistory:|history]]) |
||
| Line 30: | Line 30: | ||
==Standards== | ==Standards== | ||
Boa implements the ECMA-262 specification ([[ECMAScript]]). As of 17th August 2025 Boa has 94.6% conformance to Test262<ref>{{cite web |title=test262.fyi |url=https://test262.fyi |website=test262.fyi |access-date=6 September 2024 |archive-url= https://web.archive.org/web/20250817204840/https://test262.fyi/ |archive-date=17 August 2025 |date=17 August 2025}}</ref> | Boa implements the ECMA-262 specification ([[ECMAScript]]). As of 17th August 2025 Boa has 94.6% conformance to Test262<ref>{{cite web |title=test262.fyi |url=https://test262.fyi |website=test262.fyi |access-date=6 September 2024 |archive-url= https://web.archive.org/web/20250817204840/https://test262.fyi/ |archive-date=17 August 2025 |date=17 August 2025}}</ref> | ||
=== Temporal === | |||
In September 24th 2025 Boa launched Temporal_rs, a library which implements the Temporal proposal in ECMAScript.<ref>{{Cite web |date=2025-09-24 |title=Temporal_rs is here! The datetime library powering Temporal in Boa, Kiesel, and V8 {{!}} Boa JS |url=https://boajs.dev/blog/2025/09/24/temporal-release |access-date=2025-09-27 |website=boajs.dev |language=en}}</ref> This implementation is used within the [[V8 (JavaScript engine)]] making it the first piece of Rust code which V8 have integrated.<ref>{{Cite web |title=Chrome Platform Status |url=https://chromestatus.com/feature/5668291307634688 |access-date=2025-09-27 |website=chromestatus.com}}</ref><ref>{{Cite web |date=2 June 2025 |title=Cross-Engine Contributions at Scale: How newcomers accelerated Temporal and Upsert in SpiderMonkey, V8, and Boa |url=https://webengineshackfest.org/slides/cross-engine_contributions_at_scale:_how_newcomers_accelerated_temporal_and_upsert_in_spidermonkey,_v8,_and_boa_by_jonas_haukenes,_mikhail_barash_&_shane_carr.pdf |website=Web Engines Hackfest}}</ref> | |||
==See also== | ==See also== | ||
Revision as of 19:21, 27 September 2025
| 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 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. 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.
