Saturday, April 10, 2010

How WebKit2 Will Fix Your Slow, Crashy Browsers [Browsers]

Source: http://gizmodo.com/5513499/how-webkit2-will-fix-your-slow-crashy-browsers

How WebKit2 Will Fix Your Slow, Crashy BrowsersEver used Safari? Chrome? An iPhone? Android? Then you've used WebKit, the rendering engine that powers most of the best browsers in the world. Up next: WebKit2 with a new "split process model." it's going to be awesome. Subtly!

The banner feature for WebKit2 is the new split process model:

Part of WebKit operates in the UI process, where the application logic also lives. The rest of WebKit, along with WebCore and the JS engine, lives in the web process. The web process is isolated from the UI process.

If this sounds familiar, that's because Chrome did something similar a while ago, isolating different pieces of the browser—and specific tabs, even—in difference system processes, so that if one crashes, the rest are undisturbed. (And Mozilla is looking at something similar for Firefox right now.)The difference, though, is in how WebKit2's process splitting is implemented:

Process management [is part] of what is provided by WebKit itself, so that it is easy for any application to use.

In other words, instead of breaking the browser into different system processes for the OS to manage, they're managed within the browser. The end result, though, is the same: If your Flash plugin or Javascript engine shits the bed, your browser won't crash, and the browsing will be mostly uninterupted. Even better, since the feature is built into the WebKit API, it can eventually be pushed to all browsers that use WebKit, including the iPhone.

There are plenty of other more dev-centric features which you can read about here, and if you're super-savvy, you can build the engine yourself right now. [via Ars Technica]