Presto是一个由Opera Software开发的网页浏览器排版引擎,由Opera 7.0至12.18版本所使用。

Presto
开发者Opera Software ASA
当前版本2.12.423(2015年3月16日,​9年前​(2015-03-16[1]
编程语言C++[2]
操作系统跨平台
类型应用程式框架英语Application framework软件组件
许可协议专有
网站dev.opera.com

Presto取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。Presto在推出后不断有更新版本推出,使不少错误得以修正,以及阅读JavaScript性能得以优化。

2013年2月12日,Opera宣布将结束Presto引擎的开发,未来将以Webkit引擎为主[3]

2016年2月15日,传出Opera被收购的消息,同日Presto内核版Opera更新到12.18

JavaScript引擎

Opera的Pre-Presto版本使用了Linear A引擎。以Presto的Core fork为基础,Opera 7.0至9.27的Opera版本使用了Linear B引擎[4]。Futhark引擎使用在Presto的Core 2 fork的一些版本,即Opera 9.5至10.10版本。在当时,Futhark是世界上最快的引擎,但在2008年,新一代JavaScript引擎GoogleV8)、MozillaTraceMonkey)及AppleSquirrelFish)已领先一步,加入了机器语言生成。这开辟了在客户端进行大量计算的可能性,Futhark虽然依旧快速和高效,但仍然无法企及。

2009年2月5日,Opera推出了Carakan引擎,拥有基于寄存器的字节码,机器语言生成,自动对象分类及整体性能改进[5][6]

以Presto为基础的应用程式

网络浏览器

HTML编辑器

原始码泄漏

12.15版本的原始码被泄漏到GitHub[14][15][16][17][18][19]。2017年1月14日,在数字千年版权法的要求下被删除[20]。2017年1月18日,Opera软件公司已经确认了原始码的真实性[21]

参考资料

  1. ^ Dev.Opera — Opera Mini server upgrade. dev.opera.com. [2015-12-28]. (原始内容存档于2016-01-27). 
  2. ^ Lextrait, Vincent. The Programming Languages Beacon, v10.0. 2010-01 [2010-01-04]. (原始内容存档于2012-05-30). 
  3. ^ 300 million users and move to WebKit. Opera Software. 2013-02-12 [2013-02-14]. (原始内容存档于2013-02-14). 
  4. ^ Sivonen, Henri. Names of Browser Engines. 2006-11-23 [2007-01-03]. (原始内容存档于2011-08-26). 
  5. ^ Lindström, Jens. Carakan - By Opera Core Concerns. Opera Software. 2009-02-05 [2009-02-05]. (原始内容存档于2009-02-06). 
  6. ^ Lindström, Jens. Carakan Revisited - By Opera Core Concerns. Opera Software. 2009-12-22 [2009-12-26]. (原始内容存档于2009-12-25). 
  7. ^ Surf in Bed: Nintendo DS Browser hits Japan (新闻稿). Opera Software ASA. 2006-07-24 [2008-11-02]. (原始内容存档于2006-08-14). 
  8. ^ Operating Systems are Less Important: Opera. Techtree. 2008-10-08 [2009-02-25]. (原始内容存档于2008-10-12). 
  9. ^ Play with the Web: Opera browser now available for download on Wii (新闻稿). Opera Software ASA. 2006-12-22 [2008-11-02]. (原始内容存档于2008-05-12). 
  10. ^ Sony Electronics uses the Opera browser for its new mylo personal communicator (新闻稿). Opera Software ASA. 2006-08-23 [2008-11-02]. (原始内容存档于2008-08-29). 
  11. ^ Powered by Opera: Opera Integrated with Adobe Creative Suite 2 (新闻稿). Opera Software ASA. 2005-04-04 [2008-11-02]. [永久失效链接]
  12. ^ Adobe Creative Suite 3 (CS3)uses built-in Opera for rendering engine. 2007-03-28 [2008-04-20]. (原始内容存档于2008-03-03). 
  13. ^ Design Web Pages for the Desktop and Mobile Devices (新闻稿). Virtual Mechanics Inc. 2008-11-18 [2008-11-18]. (原始内容存档于2009-01-09). 
  14. ^ Presto Web rendering engine: Opera 12.15. GitHub. 2017-01-12. (原始内容存档于2017-01-13) (英语). 
  15. ^ Opera Presto source code leaked • r/operabrowser. reddit. [2017-10-12]. (原始内容存档于2019-02-17) (英语). 
  16. ^ Full source code of Opera Presto has been leaked • r/technology. reddit. [2017-10-12]. (原始内容存档于2019-02-17) (英语). 
  17. ^ Presto engine source code available on GitHub • r/operabrowser. reddit. [2017-10-12]. (原始内容存档于2018-11-22) (英语). 
  18. ^ Opera Presto Source Code Leaks Online. Bleeping Computer. [2017-10-12]. (原始内容存档于2017-03-29) (美国英语). 
  19. ^ На GitHub появился странный репозиторий, похожий на исходники движка Opera Presto [закрыто правообладателями]. GeekTimes. [2017-10-12]. (原始内容存档于2017-10-13) (俄语). 
  20. ^ 2017-01-12-Presto.md. GitHub. [2017-10-12]. (原始内容存档于2017-04-12). 
  21. ^ Legacy Opera Presto source code appearance in online sharing sites - Opera Security. Opera Security. 2017-01-18 [2017-10-12]. (原始内容存档于2017-10-13) (美国英语).