3 ms·
What's the use case?
by sebastianconcpt 11mo ago
What's the use case?
- jasonjmcghee 11mo agoLikely similar to something like https://github.com/mlua-rs/mlua 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 https://github.com/denoland/rusty_v8 but without needing C++ V8. (this is the first I'm hearing of Boa)
- written-beyond 11mo agoThis 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 11mo agoBun and Deno are in totally different spaces to Boa IMO. Looks like Boa is comparable to QuickJS in the small embedded engine space.
- nekevss 11mo agoWell 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 11mo agoDoesn't matter, they were more exciting and relevant for Devs.
- jasonjmcghee 11mo agoSeems pretty relevant- are JS Conf folks notoriously anti-rust or something?
- written-beyond 11mo agoIt was a notoriously rust heavy talk, I genuinely loved it.
- lblack00 11mo agoCorrect 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 11mo agoindeed, not pure rust / requires vendored lib, but i thought it might help explain the potential use case
- mort96 11mo agoThere'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?
- jddj 11mo agoJavaScript scripting by users inside frameworks / applications built in other languages. Similar to https://github.com/dop251/goja https://github.com/dop251/goja for Go or https://github.com/sebastienros/jint https://github.com/sebastienros/jint for .NET
- Timothycquinn 11mo agoThere is a Rust based browser project ongoing that can use this (if its not already).