HOME

TheInfoList



OR:

Presto was the
browser engine A browser engine (also known as a layout engine or rendering engine) is a core software component of every major web browser. The primary job of a browser engine is to transform HTML documents and other resources of a web page into an interacti ...
of the Opera web browser from the release of Opera 7 on 28 January 2003, until the release of Opera 15 on 2 July 2013, at which time Opera switched to using the Blink engine that was originally created for
Chromium Chromium is a chemical element; it has Symbol (chemistry), symbol Cr and atomic number 24. It is the first element in Group 6 element, group 6. It is a steely-grey, Luster (mineralogy), lustrous, hard, and brittle transition metal. Chromium ...
. Presto was also used to power the Opera Mini and Opera Mobile browsers. Presto is a dynamic engine.
Web page A web page (or webpage) is a World Wide Web, Web document that is accessed in a web browser. A website typically consists of many web pages hyperlink, linked together under a common domain name. The term "web page" is therefore a metaphor of pap ...
s can be re-rendered completely or partially in response to DOM events. Its releases saw a number of bug fixes and optimizations to improve the speed of the
ECMAScript ECMAScript (; ES) is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is stan ...
(
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
) engine. It is proprietary and 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 Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
7.0 through 9.27, used the Linear B engine. The Futhark engine is used in some versions on the Core 2 fork of Presto, namely Opera 9.5 to Opera 10.10. When released it was the fastest engine around, but in 2008 a new generation of ECMAScript engines from
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
( V8),
Mozilla Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institution ...
(
SpiderMonkey SpiderMonkey is an open-source JavaScript and WebAssembly engine by the Mozilla Foundation. The engine powers the Firefox Web browser and has used multiple generations of JavaScript just-in-time (JIT) compilers, including TraceMonkey, Jäg ...
), and
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
(
JavaScriptCore WebKit is a browser engine primarily used in Apple's Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon ...
) 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, was unable to keep up. In early 2009, Opera introduced the Carakan engine. It featured register-based
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normal ...
, native code generation, automatic object classification, and overall performance improvements. 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.


History and development


Presto-based applications


Web browsers

*Opera **
Opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
7 to 12 ** Opera Mobile 9.5 to 12 ** Opera Mini (continues to use Presto rendering on an intermediate server on keypad phones and as Extreme mode on Android devices) *Nintendo ** Nintendo DS Browser (based on Opera) ** Nintendo DSi Browser (based on Opera) ** Wii Internet Channel Browser (based on Opera) * Nokia 770 Browser (based on Opera) * Sony Mylo COM-1's Browser (based on Opera)


HTML editors

* Macromedia Dreamweaver MX to Dreamweaver CS3 (CS4/CS5 use
WebKit WebKit is a browser engine primarily used in Apple's Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon K ...
) *
Adobe Creative Suite Adobe Creative Suite (CS) is a discontinued software suite of graphic design, video editing, and web development application software, applications developed by Adobe Systems. The last of the Creative Suite versions, Adobe Creative Suite 6 (CS6) ...
2 and 3


Source code leak

The source code for version 12.15 was leaked to
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
on February 11, 2016. It remained unnoticed until January 12, 2017 and was taken down two days later in response to a
DMCA The Digital Millennium Copyright Act (DMCA) is a 1998 United States copyright law that implements two 1996 treaties of the World Intellectual Property Organization (WIPO). It criminalizes production and dissemination of technology, devices, or ...
request.
Opera Software Opera (formerly Opera Software AS) is a Norwegian multinational technology corporation headquartered in Oslo, Norway with additional offices in European Union, Europe, China, and Africa. Opera offers a range of products and services that inclu ...
has confirmed the authenticity of the source code.


Cultural notes

The ECMAScript engines used with Opera have been named after ancient and traditional writing scripts, including undeciphered
Linear A Linear A is a writing system that was used by the Minoans of Crete from 1800 BC to 1450 BC. Linear A was the primary script used in Minoan palaces, palace and religious writings of the Minoan civilization. It evolved into Linear B, ...
, Ancient Greek
Linear B Linear B is a syllabary, syllabic script that was used for writing in Mycenaean Greek, the earliest Attested language, attested form of the Greek language. The script predates the Greek alphabet by several centuries, the earliest known examp ...
, Runic Futhark, and Javanese Carakan.


See also

*
Blink (browser engine) Blink is a browser engine developed as part of the free and open-source Chromium project. Blink is by far the most-used browser engine, due to the market share dominance of Google Chrome and the fact that many other browsers are based on the Ch ...
*
V8 (JavaScript engine) V8 is a JavaScript and WebAssembly engine developed by Google for its Chrome browser. V8 is free and open-source software that is part of the Chromium project and also used separately in non-browser contexts, notably the Node.js runtime ...


References


External links


Opera Developer Community – Presto 2.1 – web standards supported by Opera’s coreOpera Developer Community
{{DEFAULTSORT:Presto (Layout Engine) 2003 software History of the Internet Browser engines Opera Software Internet leaks