5 ms·
SpiderMonkey JavaScript/WebAssembly Engine
- ibraheemdev 5y agoNew website?
- soapdog 5y agoyes.
- claudiojulio 5y agoMozilla must be looking to get rid of the engine and throw it out to the community. Then they can fire more developers.
- Vinnl 5y ago> After nearly 25 years.... we have a logo. > > And a new website! https://twitter.com/SpiderMonkeyJS/status/1389985112620736516 https://twitter.com/SpiderMonkeyJS/status/138998511262073651... https://twitter.com/FirefoxNightly/status/1390208272041402369 https://twitter.com/FirefoxNightly/status/139020827204140236...
- nicoburns 5y agoThe notes on the TC39 meetings look really nice. Hopefully this will make it easier for people to get involved.
- tmikaeld 5y agoI could see Mozilla adapting this to be a serverless engine - like that of Cloudflare workers and Deno (based on V8) - could charge for enterprise usage and adaptions. Has this been considered?
- TechBro8615 5y agoDoes CF workers use Deno? Or you’re just referencing those as two separate implementations of sandboxing?
- kentonv 5y agoNo, CF workers does not use Deno. Workers uses a custom runtime built on V8.
- egberts1 5y agoAs one who has been incorporating SpiderMonkey as an engine for malicious JavaScript detection research efforts continually since Firefox 56, this is a big milestone. No longer have to cut your teeth incognito in making a GUI-less customized Firefox jerry-rigged with numerous instrumentation points … repeatedly for each version. This is it, researchers; have at it.
- the_duke 5y agoOut of curiosity, why did you chose Spidermonkey over V8? Also, I've heard that it is comparatively hard to work with compared to V8, what's your experience?
- sfink 5y ago(I work on SpiderMonkey.) I'm also curious about the answer to this. From what I've heard, SM and V8 are both fairly painful to embed. This is all hearsay, but I think V8's API is a bit more stable, it's a little easier to play nicely with its GC though apparently it doesn't fit well with some setups, SM tries hard to handle out of memory conditions (crashing on OOM is a dealbreaker for some embedding scenarios), and the SM devs are said to be friendlier and more willing to help random people. Related to the previous there's much less of a distinction between core SM devs and community -- there's a steady ramp from showing up on Matrix as a rando to becoming a trusted core member with equal permissions and respect, regardless of employment. But that last is is from my personal experience as a long-time SpiderMonkey developer, and I've never personally attempted to embed V8 or hang out on their forums. In practice, people tend to start with one or the other for a variety of reasons, some of them based more on happenstance than anything else. And it's hard enough to figure out how to get going that you'll tend to stick with what you're somewhat familiar with. Strong path-dependence.
- funkaster 5y ago> From what I've heard, SM and V8 are both fairly painful to embed Not sure what's the state now, but years (9?) ago I created the scripting layer for a very popular 2D open source game engine at the time. Had to do it twice: once with JavaScriptCore and the second time with Spidermonkey. Turns out that Spidermonkey was really not that hard to embed and I also ended up creating some nifty auto-generated bindings from the C++ code (using llvm) to Spidermonkey. The runtime to keep track of spidermonkey <> C++ objects was very lean. Overall I had a really good experience and if I had to today, I would probably start looking at Spidermonkey again.
- ksec 5y agoSorry to ask, Apart from the website, what is new here for SpiderMonkey?
- IainIreland 5y agoThe logo! This isn't a major change; we're just polishing up our outwards-facing information a bit.
- liminal 5y agoThe tarot-style images of the monkeys in the docs are amazing :) https://spidermonkey.dev/docs/ https://spidermonkey.dev/docs/
- skilesare 5y agoCan I compile the engine to wasm? Yes I want to run JS on wasm. Yes I have a reason.
- gervwyk 5y agoWhy not have a look at QuickJs. I assume your reason is to run js in the browser in an isolated environment for security reasons? I’ve found this article from figma to be an excellent starting point [0] Also useful to consider this benchmark [1] of js runtimes. We’ve found quickjs-emscripten [2] to work really well thus far. You can see my implementation of it here [3] in Lowdefy. If still has a few rough edges, so would be really keen to make it better. I’m interested to know, is spidermonkey more comparable to V8 than QuickJs? [0] - https://www.figma.com/blog/how-we-built-the-figma-plugin-system/ https://www.figma.com/blog/how-we-built-the-figma-plugin-sys... [1] - https://bellard.org/quickjs/bench.html https://bellard.org/quickjs/bench.html [2] - https://github.com/justjake/quickjs-emscripten https://github.com/justjake/quickjs-emscripten [3] - https://github.com/lowdefy/lowdefy/blob/main/packages/operators/src/common/js.js https://github.com/lowdefy/lowdefy/blob/main/packages/operat...
- skilesare 5y agoI want to run it in DFINITY’s ICP.
- tonetheman 5y agoWhat is new here ... I think this has been around a while? I looked at the blog and the last entry was in May ... I must not be seeing it.