There's typically a pretty big difference between an interpreter meant to be embeddable and one that's not. Trying to embed V8 and keep up with V8 API changes would be a huge amount of work. I could see myself using something like this instead of Lua for some projects where V8 would be too much.
My first thought was that this could be interesting for yt-dlp?
Likely similar to something like https://github.com/mlua-rs/mlua - but wanting to execute javascript (instead of lua, and no static libs?) in the context of native rust.
This mad man had the courage to present BOA a rust project at JS Conf. The project had it's spotlight taken by Bun and Deno. I also think the project was progressing pretty slowly from what people were expecting.
There's typically a pretty big difference between an interpreter meant to be embeddable and one that's not. Trying to embed V8 and keep up with V8 API changes would be a huge amount of work. I could see myself using something like this instead of Lua for some projects where V8 would be too much.
My first thought was that this could be interesting for yt-dlp?
Likely similar to something like https://github.com/mlua-rs/mlua - but wanting to execute javascript (instead of lua, and no static libs?) in the context of native rust.
The alternative might be https://github.com/denoland/rusty_v8 but without needing C++ V8.
(this is the first I'm hearing of Boa)
Correct me if I'm wrong, mlua is a set of bindings to interact with the Lua C API via FFI, not necessarily a Rust implementation.
It (mlua) would be more similar to rusty_v8.
This mad man had the courage to present BOA a rust project at JS Conf. The project had it's spotlight taken by Bun and Deno. I also think the project was progressing pretty slowly from what people were expecting.
Bun and Deno are in totally different spaces to Boa IMO. Looks like Boa is comparable to QuickJS in the small embedded engine space.
2 replies →
Seems pretty relevant- are JS Conf folks notoriously anti-rust or something?
1 reply →
JavaScript scripting by users inside frameworks / applications built in other languages. Similar to https://github.com/dop251/goja for Go or https://github.com/sebastienros/jint for .NET
There is a Rust based browser project ongoing that can use this (if its not already).