JavaScript engine

A JavaScript engine is a software component that runs JavaScript for a host environment, usually a web browser. The browser interfaces between its objects, such as a the elements of a webpage or document being presented to a user, and scripts running in the JavaScript engine, which can access the outside objects through global objects instantiated by the browser.

There are several mainstream JavaScript implementations, including:

  • Rhino - managed by the Mozilla Foundation, open source, developed entirely in Java
  • SpiderMonkey - the first ever JavaScript engine, written in C by Brendan Eich at Netscape Communications. Later refined into TraceMonkey by the Mozilla Foundation.
  • V8 - open source, developed by Google in Denmark, part of Google Chrome
  • KJS - KDE's ECMAScript/JavaScript engine originally developed by Harri Porten for the Konqueror web browser
  • Squirrelfish - open source, also known as JavaScriptCore, provides an engine for WebKit implementations, forked from KJS. Refined into Squirrelfish Extreme or "Nitro" by Apple featuring significant performance enhancements.
  • Narcissus - a JavaScript engine implemented in JavaScript, open source, also written by Brendan Eich
  • Tamarin - a JavaScript engine related to SpiderMonkey, developed by Adobe and used in Flash Player.

The Plum VoiceXML IVR Platform includes a version of the SpiderMonkey engine for running JavaScript code embedded in VoiceXML documents.