View Single Post
Skilled contributor
22Sep2008,22:17  
Bhullarz's Avatar
WebKit is an open source application framework that provides a foundation upon which to build a web browser. WebKit was originally derived by Apple Inc. from the Konqueror browser’s KHTML software library for use as the engine of Mac OS X’s Safari web browser, and has now been further developed by Apple, Nokia, Google and others. The framework is now used by Omniweb, Shiira, iCab, Adobe AIR, Google Chrome, mobile phones (including the iPhone), Nokia’s Series 60 browser and Google’s Android platform. Although WebKit is included with Trolltech’s Qt 4.4, the underlying framework for KDE,the KDE project will use its original version of KHTML for the near future.

It passes the Acid2 test, and as of March 2008, latest nightly builds of WebKit score 100/100 in the Acid3 test with pixel-perfect rendering and no timing or smoothness issues.

Components

• WebCore
WebCore is a layout, rendering, and Document Object Model (DOM) library for HTML and SVG, developed by the WebKit project. Its complete source code is licensed under the LGPL. The WebKit framework wraps WebCore and JavaScriptCore, providing an Objective-C application programming interface to the C++-based WebCore rendering engine and JavaScriptCore script engine, allowing it to easily be referenced by applications based on the Cocoa API; later versions also include a cross-platform C++ platform abstraction, and various ports provide additional APIs.

• JavaScriptCore
JavaScriptCore is a framework that provides a JavaScript engine for WebKit implementations, and provides this type of scripting in other contexts within Mac OS X.JavaScriptCore is originally derived from KDE’s JavaScript engine (KJS) library (which is part of the KDE project) and the PCRE regular expression library. Since forking from KJS and PCRE, JavaScriptCore has been improved with many new features and greatly improved performance.JavaScriptCore is currently being rewritten by the WebKit project as SquirrelFish to turn it into a bytecode interpreter.

• Drosera
Drosera is a JavaScript debugger that was included with the nightly builds of WebKit. It was named after Drosera, a genus of carnivorous plants (i.e. bug-eaters). Drosera has been replaced by the inclusion of debugging functionality in the Web Inspector.[17]

• SunSpider
A benchmark suite that aims to measure JavaScript performance on tasks that are relevant to the current and near future use of JavaScript in the real world, such as screen drawing, encryption and text manipulation.The suite further attempts to be balanced and statistically sound. It was released by Apple's WebKit team in December 2007. It was well-received, and other browser developers also use it to compare the JavaScript performance of different browsers.