Кіріспе
Бұрынғы браузерлік қозғалтқыш
Presto – 2003 жылдың 28 қаңтарында Opera 7 нұсқасы шыққаннан бастап, 2013 жылдың 2 шілдесінде Opera 15 нұсқасы шыққанға дейін Opera веб-браузерінің қозғалтқышы болды. Осы кезде Opera бастапқыда Chromium үшін жасалған Blink қозғалтқышына көшті. Presto сонымен қатар Opera Mini және Opera Mobile браузерлерін іске қосу үшін де пайдаланылды. Presto – динамикалық қозғалтқыш. Веб-беттер DOM оқиғаларына жауап ретінде толығымен немесе жартылай қайта көрсетілуі мүмкін. Оның жаңа нұсқалары ECMAScript (JavaScript) қозғалтқышының жылдамдығын арттыру үшін көптеген қателерді түзетуге және оңтайландыруға мүмкіндік берді. Бұл жеке меншік және тек Opera браузерлерінің құрамында қолжетімді.
ECMAScript қозғалтқыштары
Opera-да бірнеше ECMAScript қозғалтқыштары қолданылған. (Олардың атауларының шығу тегі туралы төмендегі мәдени ескертпелерді қараңыз.) Opera-ның Presto нұсқалары Linear A қозғалтқышын пайдаланды. Presto-ның Core бұтағынан жасалған Opera нұсқалары, яғни Opera 7.0-ден 9.27-ге дейін Linear B қозғалтқышын қолданды. Futhark қозғалтқышы Presto-ның Core 2 бұтағындағы кейбір нұсқаларда, атап айтқанда Opera 9.5-тен Opera 10.10-ға дейін қолданылды. Ол шыққан кезде ең жылдам қозғалтқыш болды, бірақ 2008 жылы Google (V8), Mozilla (SpiderMonkey) және Apple (JavaScriptCore) компанияларынан шыққан ECMAScript қозғалтқыштарының жаңа буыны түпкі кодты жасау арқылы одан да бір қадам алға жылжыды. Бұл клиенттік жағында күрделі есептеулер жасауға мүмкіндік берді, ал Futhark, жылдам және тиімді болғанымен, бәсекелесе алмады. 2009 жылдың басында Opera Carakan қозғалтқышын таныстырды. Ол тіркеуге негізделген байт-кодты, түпкі кодты жасауды, автоматты нысандарды жіктеуді және жалпы өнімділікті жақсартуды қамтиды. Opera 10.50 пре-альфа нұсқасындағы алдын ала қолжетімділік оның ең жылдам бәсекелестерімен тең екенін көрсетті, сонымен қатар ең көп қолданылатын үш өлшемнің екеуінде жеңіске жетті.
Тарих және дамуы
Presto VersionECMAScript engineБраузердің кодтық атауыOpera BrowserOpera MobileБасқа қолданысЖаңа мүмкіндіктерpre Prestonаталмаған3.5pre PrestoLinear AElektra/аталмаған4.0 1.0 Linear Bunnamed7.0 толығымен жаңа рендеринг қозғалтқышы, Favicon қолдауы8.5"Болтон" нұсқасы: 1-ші толық тегін жүктеу нұсқасы (жарнамасыз құралдар панелі)2.0Merlin9.0Internet ChannelCanvas, Acid2 тесті: өтті, Rich мәтін өңдеу, XSLT және XPath2.1 Futhark Kestrel9.59.5Nintendo DSi BrowserSVG Tiny 1.2, SVG CSS ретінде, SVG ретінде, Audio object2.1.19.6Scope API, SVG Favicon ретінде2.2 Peregrine9.72.1510.010.19.8Acid3 тесті: 100/100, пикселдік дәлдік, Web шрифтері, CSS Selectors API, RGBA & HSLA мөлдірлігі, TLS 1.2, SVG-де FPS, HTML-де SVG шрифтері2.3Opera Devices SDK 10CSS3: border image, border radius (дөңгелек бұрыштар), box shadow, transitions; HTML5: <audio> және <video> элементтері2.410CSS2.1: visibility:collapse; CSS3: transforms; HTML5: <canvas> көлеңкелері, Web Database, Web Storage, window.btoa және window.atob2.5.24 Carakan Evenes10.510.1Opera Mini серверіCSS3: бірнеше фондар; HTML5: <canvas> Text2.6.3010.6WebM; HTML5: AppCache, Geolocation, Web Workers2.7.62 Kjevik11.011.0Extensions, WebSocket 2.8.131 Barracuda 11.1 11.1 Opera Mini сервері 4.27WebP, File API, CSS3 градиенттері (тек фон және фондық сурет қасиеттері үшін): o сызықтық градиент, o қайталанатын сызықтық градиент; <color stop> қолдауы қосылды. 2.9.168 Swordfish 11.5 Сессия тарихын басқару, classList (DOMTokenList) 2.9.201 Android үшін 11.50 ECMAscript қатаң режимі 2.10.229 Tunny 11.6 11.6HTML5 Parser, CSS градиенттеріне толық қолдау, Typed Arrays, CSS "rem" бірлігі 2.10.254 Wahoo 12.0WebGL және аппараттық үдету 2.10.289 12.02.11.355 Marlin12.1 Android үшін SPDY, CSS3 Flexbox2.12.38812.10–12.18
Бастапқы кодтың ағуы
12.15 нұсқасының бастапқы коды 2016 жылдың 11 ақпанында GitHub-қа жарияланды. Ол 2017 жылдың 12 қаңтарына дейін ешкімнің назарына ілікпеді және DMCA талабына жауап ретінде екі күннен кейін жойылды. Opera Software бастапқы кодтың нақтылығын растады.
Мәдениет белгілері
Opera-да қолданылатын ECMAScript қозғалтқыштары ежелгі және дәстүрлі жазу жүйелерінің аттарымен аталады, олардың ішінде әлі шешілмеген Linear A, ежелгі грек Linear B, руналық Futhark және явандық Carakan да бар.