Como o WebKit2 vai consertar seus navegadores instáveis e lerdos
Você já usou o Safari? O Chrome? Um iPhone? Android? Então você já usou o WebKit, a engine de renderização presente na maioria dos melhores navegadores do mundo. A seguir: WebKit2, com um novo "modelo de processos divididos". Ele vai arrasar! Sutilmente.
A principal função do WebKit2 é o novo modelo de processos divididos:
Parte do WebKit opera no processo de interface ao usuário, onde também mora a lógica do aplicativo. O restante do WebKit, assim como o WebCore e a engine de JavaScript, moram no processo web. O processo web é isolado do processo de interface.
Se isto soa familiar, é porque o Chrome fez algo semelhante há algum tempo, isolando partes diferentes do navegador — e até abas específicas — em processos de sistema diferentes, para que o travamento de uma parte não afete as outras. (A Mozilla está fazendo algo semelhante para o Firefox.) A diferença, no entanto, é em como a divisão de processos do WebKit2 é implementada:
O gerenciamento de processos [faz parte] do que é fornecido pelo próprio WebKit, para que seja fácil para qualquer programa usar.
Em outras palavras, em vez de quebrar o navegador em diferentes processos no sistema para o sistema operacional gerenciar, os processos são gerenciaods dentro do navegador. O resultado final, no entanto, é o mesmo: se sua engine de JavaScript ou seu plugin do Flash se cagar todo, seu navegador não trava, e a navegação segue praticamente sem interrupções. Melhor ainda, como esta função foi integrada no API do WebKit, ela poderá ser implementada em todos os navegadores que usam WebKit, inclusive no iPhone e no Android.
Você pode obter mais informações técnicas sobre o WebKit2 aqui, e se você manja muito dessa história de programação, pode compilar o WebKit aqui. [Webkit2 via Ars Technica]