Mozilla's SpiderMonkey library can be used to embed JavaScript in any C++ projects. It is quite easy to expose some simple bindings and get a "hello world" application running in no-time.
However, after this first hello world, you'll quickly notice that you'll need other features such as timer, networking, file access, threading or even graphics and audio. At this point things get much more complicated, and maintaning the bindings can quickly become overwhelming.
Our team has been creating such bindings for SpiderMonkey since 2007 in several projects and this talk will present best practices, tips and caveats that we have learned over the years. We will also see how to make embedders life easier by using nidium library that bundles many basic bindings, in the hope that more developers can use the power of SpiderMonkey in a convienient way.