Presto (motor de navegador)
Presto fue el motor del navegador web Opera desde el lanzamiento de Opera 7 el 28 de enero de 2003, hasta el lanzamiento de Opera 15 el 2 de julio de 2013, momento en el que Opera pasó a utilizar el Motor Blink que fue creado originalmente para Chromium. Presto también se utilizó para impulsar los navegadores Opera Mini y Opera Mobile.
Presto es un motor dinámico. Las páginas web se pueden volver a representar total o parcialmente en respuesta a eventos DOM. Sus lanzamientos vieron una serie de correcciones de errores y optimizaciones para mejorar la velocidad del motor ECMAScript (JavaScript). Es propietario y sólo está disponible como parte de los navegadores Opera.
Motores ECMAScript
Se ha utilizado una sucesión de motores ECMAScript con Opera. (Para conocer el origen de sus nombres, consulte las notas culturales a continuación). Las versiones anteriores a Presto de Opera usaban el motor Linear A. Las versiones de Opera basadas en la bifurcación Core de Presto, Opera 7.0 a 9.27, utilizaron el motor Linear B. El motor Futhark se utiliza en algunas versiones de la bifurcación Core 2 de Presto, concretamente de Opera 9.5 a Opera 10.10. Cuando se lanzó, era el motor más rápido que existía, pero en 2008 una nueva generación de motores ECMAScript de Google (V8), Mozilla (SpiderMonkey) y Apple (JavaScriptCore) dio un paso más, introduciendo la generación de código nativo. Esto abrió la puerta a posibles cálculos pesados en el lado del cliente y Futhark, aunque seguía siendo rápido y eficiente, no pudo seguir el ritmo.
A principios de 2009, Opera presentó el motor Carakan. Presentaba código de bytes basado en registros, generación de código nativo, clasificación automática de objetos y mejoras generales de rendimiento. El acceso temprano en la pre-alfa de Opera 10.50 demostró que es tan rápido como los competidores más rápidos, siendo el ganador en 2 de los 3 puntos de referencia más utilizados.
Historia y desarrollo
Versión presto | Motor ECMAScript | Nombre del código del navegador | Opera Browser | Opera Móvil | Otros usos | Nuevas características |
---|---|---|---|---|---|---|
pre Presto | ninguno | sin nombre | 3.5 | |||
pre Presto | Linear A | Elektra/sin nombre | 4.0 | |||
1.0 | Linear B | sin nombre | 7.0 | un motor de renderización completamente nuevo, soporte Favicon | ||
8,5 | "Bolton" versión: 1a versión de descarga completamente gratuita (libre de herramientas) | |||||
2.0 | Merlin | 9.0 | Canal de Internet | Canvas, Acid2 Prueba: pasada, edición de texto Rich, XSLT y XPath | ||
2.1 | Futhark | Kestrel | 9.5 | 9.5 | Nintendo DSi Navegador | SVG Tiny 1.2, SVG como CSS, SVG como |
2.1.1 | 9.6 | Scope API, SVG como Favicon | ||||
2.2 | Peregrine | 9.7 | ||||
2.2.15 | 10.0 10.1 | 9.8 | Prueba Acid3: 100/100, pixel-perfect, fuentes web, CSS Selectors API, RGBA & HSLA opacity, TLS 1.2., FPS en SVG, fuentes SVG en HTML | |||
2.3 | Dispositivos de Opera SDK 10 | CSS3: frontera-image, frontera-radius (corrientes redondeadas), box-shadow, transiciones; HTML5: | ||||
2.4 | 10 | CSS2.1: visibilidad:collapse; CSS3: transforma; HTML5: ierecanvas confianza 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: Texto |
2.6.30 | 10.6 | WebM; HTML5: AppCache, Geolocation, Web Workers | ||||
2.7.62 | Kjevik | 11.0 | 11.0 | Extensiones, WebSocket | ||
2.8.131 | Barracuda | 11.1 | 11.1 | Opera Mini servidor 4.27 | WebP, File API, CSS3 gradientes (sólo para el antecedentes y imagen de fondo propiedades): -o-linear-gradient(), -o-repeating-linear-gradient(); Apoyo para | |
2.9.168 | Swordfish | 11.5 | Gestión de historia de sesión, classList (DOMTokenList) | |||
2.9.201 | 11.50 para Android | Modo estricto ECMAscript | ||||
2.10.229 | Tunny | 11.6 | 11.6 | HTML5 Parser, soporte completo a CSS Gradients, Arrays Tipod, unidad CSS "rem" | ||
2.10.254 | Wahoo | 12.0 | WebGL y aceleración del hardware | |||
2.10.289 | 12.0 | |||||
2.11.355 | Marlin | 12.1 para Android | SPDY, CSS3 Flexbox | |||
2.12.388 | 12.10 a 12.18 |
- ^ Elektra fue originalmente el nombre de código de Opera 4.0, pero más tarde vino a referirse más generalmente al motor de diseño utilizado en versiones 3.5 a 6.
Aplicaciones basadas en Presto
Navegadores web
- Opera
- Opera 7 a 12
- Opera Mobile 9.5 a 12
- Opera Mini (continúa para utilizar Presto renderizado en un servidor intermedio en teléfonos teclado y como modo extremo en dispositivos Android)
- Nintendo
- Nintendo DS Browser (basado en Opera)
- Nintendo DSi Browser (basado en Opera)
- Wii Internet Channel Browser (basado en Opera)
- Nokia 770 Navegador (basado en Opera)
- Navegador de Sony Mylo COM-1 (basado en Opera)
Editores HTML
- Macromedia Dreamweaver MX to Dreamweaver CS3 (CS4/CS5 use WebKit)
- Adobe Creative Suite 2 y 3
Fuga de código fuente
El código fuente de la versión 12.15 se filtró a GitHub el 11 de febrero de 2016. Pasó desapercibido hasta el 12 de enero de 2017 y se eliminó dos días después en respuesta a una solicitud de DMCA. Opera Software ha confirmado la autenticidad del código fuente.
Notas culturales
Los motores ECMAScript utilizados con Opera llevan el nombre de guiones de escritura antiguos y tradicionales, incluidos los no descifrados Linear A, Ancient Greek Linear B, Runic Futhark y Javanese Carakan.