Presto (browser engine)
Developer(s) | Opera Software ASA |
---|---|
Stable release | 2.12.388
/ 5 November 2012[1] |
Written in | C++[2] |
Operating system | Cross-platform |
Type | Application framework / Software component |
License | Proprietary |
Website | dev.opera.com |
Presto was the purpose-built layout engine of the Opera web browser for a decade. It was released on 28 January 2003 in Opera 7, for Windows, after several public betas and technical previews. It remained in use until Opera 12.14, when the browser's developer Opera Software ASA began phasing Presto out of its products in favour of the WebKit layout engine and V8 JavaScript engine combined with a modified Chromium browser.[3]
Presto was a dynamic engine. Webpages could be re-rendered completely or partially in response to DOM events. Its releases saw a number of bug fixes and optimisations to improve the speed of the ECMAScript (JavaScript) engine. It was proprietary software only available as a part of the Opera browsers.
ECMAScript engines
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.[4] The Futhark engine is used in some versions on the Core 2 fork of Presto, namely Opera 9.5 to Opera 10.10.[5] 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.[6][7] 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.[8]
History and development
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 [9] | 4.0 | |||
1.0 | Linear B | unnamed | 7.0 | a completely new rendering engine, Favicon support[10] | ||
8.5 | "Bolton" version: 1st completely free download version (ad-free toolbar) | |||||
2.0 | Merlin | 9.0 | Internet Channel[11] | Canvas, Acid2 Test: passed, Rich text editing, XSLT and XPath | ||
2.1 | Futhark | Kestrel | 9.5 | 9.5[12] | Nintendo DSi Browser | SVG Tiny 1.2, SVG as CSS, SVG as <img>, Audio object |
2.1.1 | 9.6 | Scope API,[13] SVG as Favicon | ||||
2.2 | Peregrine | 9.7[14] | ||||
2.2.15 | 10.0[15] 10.1 |
9.8[16] | Acid3 test: 100/100, pixel-perfect, Web fonts, CSS Selectors API, RGBA & HSLA opacity, TLS 1.2.,[17] 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[18] | ||||
2.7.62 | Kjevik | 11.0 | 11.0 | Extensions, WebSocket | ||
2.8.131 | Barracuda | 11.1 | 11.1 | Opera Mini server 4.27 | 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 | 11.6 | HTML5 Parser, full support to CSS Gradients, Typed Arrays, CSS unit "rem" | ||
2.10.254 | Wahoo | 12.0 | WebGL and Hardware Acceleration[19] | |||
2.10.289 | 12.0 | |||||
2.11.355 | Marlin | 12.1 for Android | SPDY, CSS3 Flexbox [20] | |||
2.12.388 | 12.10-12.15 |
Presto-based applications
Web browsers
- Opera
- Opera 7 and above
- Opera Mobile
- Opera Mini
- Nintendo
- Nintendo DS Browser (based on Opera)[21]
- Nintendo DSi Browser (based on Opera)[22]
- Wii Internet Channel Browser (based on Opera)[23]
- Nokia 770 Browser (based on Opera)
- Sony Mylo COM-1's Browser (based on Opera)[24]
HTML editors
- Macromedia Dreamweaver MX to Dreamweaver CS3 (CS4/CS5 use WebKit)
- Adobe Creative Suite 2[25]
- Adobe Creative Suite 3[26]
- Virtual Mechanics SiteSpinner Pro[27]
Cultural notes
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.
References
- ^ Opera 12.0 Changelog
- ^ Lextrait, Vincent (2010). "The Programming Languages Beacon, v10.0". Retrieved 4 January 2010.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Lawson, Bruce (2013-02-12). "300 million users and move to WebKit". Opera Software. Retrieved 2013-02-13.
- ^ Sivonen, Henri (2006-11-23). "Names of Browser Engines". Retrieved 2007-01-03.
- ^ Bointon, Marcus (2006-12-19). "SunSpider Benchmarks: WebKit Rocks". Pet Pixels. Retrieved 2007-01-03.
- ^ Lindström, Jens (2009-02-05). "Carakan - By Opera Core Concerns". Opera Software. Retrieved 2009-02-05.
- ^ Lindström, Jens (2009-12-22). "Carakan Revisited - By Opera Core Concerns". Opera Software. Retrieved 2009-12-26.
- ^ Fulton, Scott M. III (2009-02-22). "The once and future king: Test build of Opera crushes Chrome on Windows 7". betanews. Retrieved 2009-02-26.
- ^ Opera version history At first Electra was the codename for the Opera 4.0 browser but was later designated as a layout engine name for Opera versions 3.5 through 6
- ^ "Opera 7 for Windows Changelog". Opera Software. Retrieved 28 February 2011.
- ^ "Opera Dragonfly documentation". Opera Software. Retrieved 2009-02-27.
- ^ "Reviewer's Guide to Opera Mobile 9.5 Beta". Opera Software. Retrieved 2009-02-27.
- ^ Lawson, Bruce (2008-09-10). "Opera Presto 2.1 - Web standards supported by Opera's core". Opera Software. Retrieved 2009-02-27.
- ^ "Opera announces the new Opera Mobile 9.7 at CTIA Wireless 2009 – a server-accelerated full Web experience for smartphones and mobile devices" (Press release). Opera Software. 2009-03-26. Retrieved 2009-06-11.
- ^ released
- ^ "Opera Software grows in Poland: International Web browser company celebrates the Warsaw office opening" (Press release). Opera Software. 2009-06-02. Retrieved 2009-06-11.
- ^ Pettersen, Yngve Nysæter (2009-02-25). "New in Opera Presto 2.2: TLS 1.2 Support". Opera Software. Retrieved 2009-02-27.
- ^ Kleinhout, Huib (1. July 2010). "Opera 10.60 goes final". My Opera. Opera Software. Retrieved 2 July 2010.
{{cite web}}
: Check date values in:|date=
(help) - ^ "Introducing Opera 12 Alpha". My Opera. Opera Software. 13. October 2011. Retrieved 28 January 2012.
{{cite web}}
: Check date values in:|date=
(help); Cite has empty unknown parameter:|1=
(help) - ^ "Opera Mobile 12.1: with SPDY, WebSockets, Flexbox and more". My Opera. Opera Software. 9. October 2012. Retrieved 10 October 2012.
{{cite web}}
: Check date values in:|date=
(help); Cite has empty unknown parameter:|1=
(help) - ^ "Surf in Bed: Nintendo DS Browser hits Japan" (Press release). Opera Software ASA. 2006-07-24. Retrieved 2008-11-02.
- ^ Rahul Srinivas and Jon S. von Tetzchner (2008-10-08). "Operating Systems are Less Important: Opera". Techtree. Retrieved 2009-02-25.
- ^ "Play with the Web: Opera browser now available for download on Wii" (Press release). Opera Software ASA. 2006-12-22. Retrieved 2008-11-02.
- ^ "Sony Electronics uses the Opera browser for its new mylo personal communicator" (Press release). Opera Software ASA. 2006-08-23. Retrieved 2008-11-02.
- ^ "Powered by Opera: Opera Integrated with Adobe Creative Suite 2" (Press release). Opera Software ASA. 2005-04-04. Retrieved 2008-11-02.
- ^ "Adobe Creative Suite 3 (CS3) uses built-in Opera for rendering engine". 2007-03-28. Retrieved 2008-04-20.
- ^ "Design Web Pages for the Desktop and Mobile Devices" (Press release). Virtual Mechanics Inc. 2008-11-18. Retrieved 2008-11-18.