You can edit almost every page by Creating an account and confirming your email.

Boa (JavaScript engine): Difference between revisions

From EverybodyWiki Bios & Wiki
WikiMasterBot2 (talk | contribs)
Moved page from wikipedia:en:Boa (JavaScript engine) ([[Edithistory:|history]])
 
WikiMasterBot2 (talk | contribs)
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

Boa
Original author(s)Jason Williams
Developer(s)Boa Developers
Initial release10 June 2019; 7 years ago (2019-06-10)
Stable release
v0.20[1] / 5 December 2024; 21 months ago (2024-12-05) / Error: first parameter is missing. ()
Repositorygithub.com/boa-dev/boa
Written inRust[2]
Engine
    Platformx86-64, 32-bit ARM, AArch64
    TypeJavaScript
    LicenseMIT
    Websiteboajs.dev

    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

    References

    1. ↑ 1.0 1.1 "Boa release v0.19". boajs.dev. 5 December 2024.
    2. ↑ 2.0 2.1 "About Boa | Boa JS". boajs.dev. Boa Developers. Retrieved 15 October 2024.
    3. ↑ 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. ↑ 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.
    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. ↑ 8.0 8.1 Munsters, Aäron. "BoaSpect" (PDF). Vrije Universiteit Brussel. Retrieved 15 October 2024.
    9. ↑ "test262.fyi". test262.fyi. 17 August 2025. Archived from the original on 17 August 2025. Retrieved 6 September 2024.
    10. ↑ "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.
    11. ↑ "Chrome Platform Status". chromestatus.com. Retrieved 2025-09-27.
    12. ↑ "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.