Remix.run Logo
sebastianconcpt 15 hours ago

What's the use case?

mort96 14 hours ago | parent | next [-]

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?

jasonjmcghee 14 hours ago | parent | prev | next [-]

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)

lblack00 8 hours ago | parent | next [-]

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.

jasonjmcghee 4 hours ago | parent [-]

indeed, not pure rust / requires vendored lib, but i thought it might help explain the potential use case

written-beyond 13 hours ago | parent | prev [-]

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.

afavour 12 hours ago | parent | next [-]

Bun and Deno are in totally different spaces to Boa IMO. Looks like Boa is comparable to QuickJS in the small embedded engine space.

nekevss 12 hours ago | parent | next [-]

Well the first two are runtimes built on top of JavaScriptCore and V8, respectively. So we're definitely in a different space.

QuickJS/QuickJS-NG might be a better comparison, but I think they are limited in specification conformance or at least selective in specification conformance in favor of remaining in a single file and fast. For instance, I'm not entirely sure whether they will be supporting Temporal once it goes Stage 4 because of the size of the feature, and I don't think they support Intl. But I also can't speak for QuickJS.

written-beyond 11 hours ago | parent | prev [-]

Doesn't matter, they were more exciting and relevant for Devs.

jasonjmcghee 13 hours ago | parent | prev [-]

Seems pretty relevant- are JS Conf folks notoriously anti-rust or something?

written-beyond 10 hours ago | parent [-]

It was a notoriously rust heavy talk, I genuinely loved it.

jddj 12 hours ago | parent | prev | next [-]

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

Timothycquinn 12 hours ago | parent | prev [-]

There is a Rust based browser project ongoing that can use this (if its not already).