| Developer(s) | Opera Software ASA |
|---|---|
| Stable release | 2.10.229 / 6 December 2011[1] |
| Written in | C++[2] |
| Operating system | Cross-platform |
| Type | Application framework / Software component |
| License | Proprietary |
| Website | dev.opera.com |
Presto is the layout engine for later versions of the Opera web browser (developed by Opera Software). After several public betas and technical previews, it was released on January 28, 2003 in Opera 7 for Windows, and as of Opera 11 it is still in use. Presto is dynamic: the page or parts of it can be re-rendered in response to DOM and script events. Presto is available only as a part of Opera browser or related products; the source or binary (DLL) forms of the engine are not publicly available. Subsequent releases have seen a number of bugs fixed and optimisations to improve the speed of the ECMAScript (JavaScript) engine.
|
Contents
|
A succession of ECMAScript engines have been used with Opera. (For the origin of their names, see Cultural notes below). Pre-Presto versions of Opera used the Linear A engine. Opera versions based on the Core fork of Presto, Opera 7.0 through 9.27, use the Linear B engine.[3] The Futhark engine is used in some versions on the Core 2 fork of Presto, namely Opera 9.5 to Opera 10.10.[4] When released it was the fastest engine around, but in 2008 a new generation of ECMAScript engines from Google (V8), Mozilla (TraceMonkey) and Apple (SquirrelFish) took one more step, introducing native code generation. This opened up for potential heavy computations on the client side and Futhark, though still fast and efficient, would not be able to keep up.
In early 2009, Opera began to use the Carakan engine. It features register-based bytecode, native code generation, automatic object classification and overall performance improvements.[5][6] Early access in the Opera 10.50 pre-alpha showed that it is as fast as the fastest competitors, being the winner in 2 out of the 3 most used benchmarks.[7]
| Presto Version | ECMAScript engine | Browser code name | Opera Browser | Opera Mobile | Other use | New features |
|---|---|---|---|---|---|---|
| pre Presto | none | unnamed | 3.5 | |||
| pre Presto | Linear A | Electra/unnamed [8] | 4.0 | |||
| 1.0 | Linear B | unnamed | 7.0 | a completely new rendering engine, Favicon support[9] | ||
| 8.5 | "Bolton" version: 1st completely free download version (ad-free toolbar) | |||||
| 2.0 | Merlin | 9.0 | Internet Channel[10] | Canvas, Acid2 Test: passed, Rich text editing, XSLT and XPath | ||
| 2.1 | Futhark | Kestrel | 9.5 | 9.5[11] | Nintendo DSi Browser | SVG Tiny 1.2, SVG as CSS, SVG as <img>, Audio object |
| 2.1.1 | 9.6 | Scope API,[12] SVG as Favicon | ||||
| 2.2 | Peregrine | 9.7[13] | ||||
| 2.2.15 | 10.0[14] 10.1 |
9.8[15] | Acid3 test: 100/100, pixel-perfect, Web fonts, CSS Selectors API, RGBA & HSLA opacity, TLS 1.2.,[16] FPS in SVG, SVG fonts in HTML | |||
| 2.3 | Opera Devices SDK 10 | CSS3 : border-image, border-radius (rounded corners), box-shadow, transitions; HTML5: <audio> and <video> elements | ||||
| 2.4 | 10 | CSS2.1: visibility:collapse; CSS3 : transforms; HTML5: <canvas> shadows, Web Database, Web Storage, window.btoa and window.atob | ||||
| 2.5.24 | Carakan | Evenes | 10.5 | 10.1 | Opera Mini server | CSS3: multiple backgrounds; HTML5: <canvas> Text |
| 2.6.30 | 10.6 | WebM; HTML5: AppCache, Geolocation, Web Workers[17] | ||||
| 2.7.62 | Kjevik | 11.0 | 11.0 | Extensions, WebSockets | ||
| 2.8.131 | Barracuda | 11.1 | 11.1 | WebP, File API, CSS3 gradients (only for the background and background-image properties): -o-linear-gradient(), -o-repeating-linear-gradient(); Support for <color-stop> added. | ||
| 2.9.168 | Swordfish | 11.5 | Session history management, classList (DOMTokenList) | |||
| 2.9.201 | 11.50 for Android | ECMAscript strict mode | ||||
| 2.10.229 | Tunny | 11.6 | HTML5 Parser, full support to CSS Gradients, Typed Arrays, CSS unit "rem" | |||
| 2.10.282 | Wahoo | 12 (in development) | Webgl and Hardware Acceleration[18] |
The ECMAScript engines used with Opera have been named after ancient and traditional writing scripts, including ancient Greek Linear A and Linear B, Runic Futhark, and Javanese Carakan.
|
||||||||||||||||||||||
|
|||||||||||
|
|||||||||||||||||||||||||||||||||
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)