WebKit

from Wikipedia, the free encyclopedia
WebKit

Compass in a box.svg
Basic data

developer Apple , KDE , Nokia , Adobe , Google and others
Publishing year November 4, 1998
operating system Platform independent
programming language C ++ , Objective-C
category HTML rendering - Library
License partly LGPL , partly BSD license
German speaking No
webkit.org

WebKit is a free HTML rendering engine that can be used to display websites in web browsers . WebKit is a spin-off from KHTML and the JavaScript implementation KJS that has been further developed by Apple and forms the basis for the Mac OS X web browser Apple Safari .

Although WebKit is included in Trolltech's Qt 4.4, it is based on KDE . The library consists of the components WebCore (the library responsible for HTML display) and the JavaScript parser JavaScriptCore . The complete source code is freely accessible and is partly under LGPL , partly under BSD license .

Components

WebCore

WebCore is a layout, DOM and render library for CSS and SVG that has been split off from KHTML. It has passed the Acid2 test and, since September 2008, the development versions have also been the first HTML rendering engine to have the Acid3 test, with rendering that is precise pixel by pixel and fluid on reference hardware.

JavaScriptCore

As a spin-off from KJS, JavaScriptCore works as a (source text) interpreter. To accelerate the execution speed, it was first developed further to SquirrelFish, which translates the JavaScript code into bytecode before execution (bytecode interpreter), and further to SquirrelFish Extreme (SFX for short), which compiles directly into machine language ( just-in-time- Compilation ). SquirrelFish Extreme initially only supported x86 architectures, but since the end of January 2009 it has also been available for AMD64 .

Drosera

Drosera is a debugger for JavaScript code. It was named after the Latin name for the carnivorous plant sundew .

SunSpider

SunSpider is a benchmark suite for testing the speed of JavaScript implementations. In the meantime, however, SunSpider is no longer being developed.

history

WebKit

WebKit emerged from the KHTML HTML engine and the KJS JavaScript engine of the KDE project: Apple created a spin-off of the engines and developed them further. At the time, Apple needed its own HTML and JavaScript engine for its software products and decided on KHTML and its sister project KJS, as the code was considered clearer and more structured than that of the Mozilla project at the time. Apple ported the sources of the KDE project to Mac OS X and renamed them WebCore and JavaScriptCore .

In 2003 the project was officially announced and the sources released according to the licenses of the KHTML and KJS projects. However, the way in which the changed code was passed on and published met with criticism: The KDE developers accused Apple of only providing changes in large, difficult-to-understand packages; this makes code adoption difficult, causing the projects to become more and more distant.

In June 2005, Apple's Dave Hyatt promised to open the development process and provide all of the WebKit's sources in a CVS tree. As a result, Nokia announced a browser based on this, and Adobe announced that the Adobe Integrated Runtime would also integrate WebKit.

In September 2009, the developers began to integrate 3D functions into WebKit . These are partly implemented with the free JavaScript interface WebGL , which in turn is based on OpenGL functions that have already been developed .

Until April 2013, Google was involved in the further development of WebKit. Since then, Google has been using the WebKit Fork Blink for its Chrome web browser .

WebKit2

WebKit2 was presented in April 2010. This is a completely redesigned version in which the rendering (including HTML, JavaScript, CSS) takes place in a different process than the program interface.

use

WebKit is part of the macOS operating system from version 10.3 . It is mainly used in the Safari browser, but also in the help function and in the HTML display in TextEdit and Mail .

Other browsers are also based on WebKit, for example Google Chrome (up to version 27), Yandex.Browser , SRWare Iron , OmniWeb , Shiira , iCab , Midori (with Midori, however, in the variant WebKitGTK + , since Midori is written in C ) and Roccat . The browser Lunascape , which uses several rendering engines, can also use WebKit. The third version of the Maxthon browser also uses it. In 2013 Opera wanted to switch to WebKit as the browser engine in order to catch up with Google Chrome and save further development effort in Presto. However, after it became known that Google would develop a fork of WebKit called Blink and use it in Chrome, Opera decided to follow this decision and to use Blink as the browser engine in the future.

WebKit also plays a major role in the browsers of mobile devices: ABrowse has been using it as a basis for the Syllable operating system since July 2007 instead of the previously used KHTML. The free smartphone operating system Openmoko and Android , Google's software project for mobile systems, use WebKit. WebKit is also an integral part of the HP webOS (formerly Palm) mobile operating system for smartphones and tablets and is used to display the user interface. There are also iPhone / iPodTouch / iPad from Apple and Nokia's S60 series. In August 2010, RIM announced the use of WebKit.

With its Origyn Web Browser (OWB), the French company Pleyo offers a WebKit-based browser under BSD or LGPL license for entertainment electronics (e.g. mobile devices, set-top boxes) such as the Nokia N800 or AmigaOS .

The programs of the free desktop environment Gnome that display HTML content , including the standard Epiphany browser , have also been converted to WebKit from version 2.28. Numerous GTK-based programs, some of which also belong to the GNOME project, will also be converted.

Since the KDE Software Compilation 4.5 it is possible to install WebKit from the Extra Gear sources and select Konqueror as an alternative to KHTML in the standard browser . The rewritten slim browser Rekonq is built directly on top of WebKit. The Kubuntu distribution has been using Rekonq as the standard browser since Maverick Meerkat 10.10. In the meantime, the development of Rekonq has been stopped. As an alternative, there is Otter, which is based on a fork of QtWebkit from Annulen, and Liri and Qupzilla, which use QtWebEngine, a Qt port from Chromes Blink.

Since its major interface update in 2010, the computer game distribution platform Steam has used WebKit as its HTML rendering engine.

The command line tool wkhtmltopdf uses WebKit to render HTML documents and then save them as PDF files.

Web links

Individual evidence

  1. Qt Labs Blogs: WebKit ( Memento of December 13, 2007 in the Internet Archive ) (English), August 25, 2009
  2. Surfin 'Safari Blog: Full Pass of Acid3 (English), September 25, 2008
  3. WebKit Trac : Enable the JIT on Mac OS X x86_64 as it passes all tests. (English), January 30, 2009
  4. heise online : WebKit browser engine with 3D capabilities , September 14, 2009
  5. Golem.de : Webkit learns WebGL , September 14, 2009
  6. webkit-dev mailing list: Webkit2 announcement , April 8, 2010
  7. Official Google Blog: A fresh take on the browser , September 1, 2008
  8. webkit-dev mailing list: How to add Maxthon's port (English), June 29, 2009
  9. The Next Web: Opera confirms it will follow Google and ditch WebKit for Blink, as part of its commitment to Chromium , April 4, 2013
  10. Android Developers: What is Android? (English)
  11. heise online: RIM announces BlackBerry Torch 9800 with touchscreen and keyboard , August 3, 2010
  12. Gnome Library: Release Notes GNOME 2.28
  13. WebKit Trac: Applications using WebKit / GTK + (English)
  14. KDE Software Compilation 4.5 Release Announcement (English)
  15. KDE / rekonq. Retrieved May 15, 2017 .
  16. annulen / webkit. Retrieved May 15, 2017 .
  17. Official press release: STEAM UPDATE ANNOUNCED - PUBLIC BETA OPEN NOW , February 23, 2010
  18. wkhtmltopdf