14.07.2013 Views

Essentials of Javascript - Cultural View

Essentials of Javascript - Cultural View

Essentials of Javascript - Cultural View

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

JavaScript engine 46<br />

JavaScript engines<br />

Major browser JS engines:<br />

Mozilla<br />

• Rhino, managed by the Mozilla Foundation, open source, developed entirely in Java<br />

• SpiderMonkey (code name), the first ever JavaScript engine, written by Brendan Eich at Netscape<br />

Communications<br />

• TraceMonkey, the engine promoted with Firefox 3.5<br />

• JägerMonkey, the engine in development for Mozilla Firefox 4. [16]<br />

• Tamarin, by Adobe Labs<br />

Google<br />

• V8 - open source, developed by Google in Denmark, part <strong>of</strong> Google Chrome<br />

Other<br />

• KJS - KDE 's ECMAScript/JavaScript engine originally developed by Harri Porten for the KDE project's<br />

Konqueror web browser<br />

• Narcissus open source, written by Brendan Eich, who also wrote SpiderMonkey<br />

• Chakra, for Internet Explorer 9. [17]<br />

• Nitro, (formerly SquirrelFish) for Safari 4<br />

• Carakan, by Opera S<strong>of</strong>tware, used since Opera 10.50<br />

• Futhark, by Opera S<strong>of</strong>tware, replaced by Carakan in Opera 10.50 (released March 2010)<br />

Implementations<br />

JavaScript is a dialect <strong>of</strong> ECMAScript, which is supported in many applications, especially web browsers. Dialects<br />

sometimes include extensions to the language, or to the standard library and related APIs such as the W3C-specified<br />

DOM. This means that an application written in one dialect may be incompatible with another, unless the<br />

applications are written to use only a common subset <strong>of</strong> supported features and APIs.<br />

Note that there is a distinction between a dialect and an implementation. A dialect <strong>of</strong> a language is significant<br />

variation <strong>of</strong> the language, while an implementation <strong>of</strong> a language/dialect executes a program written in that<br />

language/dialect.<br />

Application Dialect and latest version ECMAScript edition<br />

Google Chrome, the V8 engine JavaScript ECMA-262, edition 3<br />

Mozilla Firefox, the Gecko layout engine, SpiderMonkey, and Rhino JavaScript 1.8.1 ECMA-262, edition 3<br />

Opera<br />

ECMAScript with some JavaScript<br />

1.5<br />

[18]<br />

and JScript extensions<br />

ECMA-262, edition 3<br />

KHTML layout engine, KDE's Konqueror, and Apple's Safari JavaScript 1.5 ECMA-262, edition 3<br />

Adobe Acrobat JavaScript 1.5 ECMA-262, edition 3<br />

OpenLaszlo Platform JavaScript 1.4 ECMA-262, edition 3<br />

Max/MSP JavaScript 1.5 ECMA-262, edition 3<br />

ANT Galio 3 JavaScript 1.5 with RMAI extensions ECMA-262, edition 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!