Bringing the technology to all browsers powered by it

Apr 9, 2010 11:30 GMT  ·  By

WebKit is arguably one of the most important browser-related projects at the moment. Used by Apple Safari, Google Chrome and Chromium, the Android, WebOS and Symbian OS web browsers, it's safe to say that the open-source web rendering engine powers quite a big chunk of the web content consumed each day by people all over the world. The project is now slated to take a big step forward with the announcement of WebKit2, the next major iteration of the web-rendering engine. WebKit2 comes with several new features, but arguably the biggest is support for multi-process rendering.

"This is a heads-up that we will shortly start landing patches for a new WebKit framework that we at Apple have been working on for a while. We currently call this new framework 'WebKit2,'" Apple's Anders Carlsson and Sam Weinig announced.

"WebKit2 is designed from the ground up to support a split process model, where the web content (JavaScript, HTML, layout, etc.) lives in a separate process. This model is similar to what Google Chrome offers, with the major difference being that we have built the process split model directly into the framework, allowing other clients to use it," they explained.

Multi process is a major theme for all modern browsers, once again a feature pioneered by Google Chrome. The idea is to have the web-page rendering split into several processes for greater stability and security. Google Chrome assigns a new process to most new tabs, basically ensuring that, if one encounters a critical error, it doesn't bring down the entire browser. It also runs extensions in separate processes and yet another process is used to keep things working together.

Mozilla is also starting down this path and has added a multi-process technology that keeps plugins like Flash and Java separate from the main browser process. The technology is now enabled in the recently released Firefox 3.6.4 beta (3.6.3 plugin1). Internet Explorer and Safari both have basic multi-process implementations.

However, WebKit itself, the rendering engine powering Google Chrome, does not support multiple processes. This will change with the WebKit2 framework, which has been built from the ground up with a split process model in mind. Each WebKit view will now get its own process, meaning that all browsers that are based on it will be able to take advantage of the added security and stability. It should be interesting to see how and when Google will implement the new framework and how it will affect the existing technology. WebKit2 comes with other new features, like a non-blocking API that should translate into more responsive web apps.