JSKit (pronounced "JAY-skit") is an open sourced (MIT license) Objective-C wrapper around the JavaScriptCore framework, providing an Objective-C based interface for integrating JavaScript into a Cocoa application. JSKit is composed of several "layers":

JSKoa requires 10.5, while the rest work fine under 10.4 with a recent version of Safari.

The Core and Libraries are built on an "explicit permission" model, meaning that JavaScript code can only access things outside of the scripting context by having things explicitly exposed to it. As a result, this allows for using it to embed a JavaScript interpreter inside an application and not have to worry about JavaScript code potentially causing problems. For example, libraries must be explicitly added to the scripting environment, so one could create an application that allows the JavaScript interpreter to have local file access but not network access.

JSKoa, on the other hand, automatically gets access to all of the Cocoa classes, so it's basically wide open and permissive. As such, this means that using JSKoa in an embedded scripting solution is probably not a good idea.

JSKit also comes with a simple "turtle graphics" example, that shows how one would use the various JSKit layers and objects (including a simple editor using JSKEditor)