2012年(272)
分类: 系统运维
2012-06-27 11:01:53
Safari决定搞WebKit 2 了,准确来说是已经偷偷的搞了段时间了。
Webkit 2 主要是将浏览器进程分为多进程,然后设计一个sandbox以隔离浏览器进程和本地系统。
也不知道这股风最早是Google Chrome 影响IE 8还是,微软的团队影响了Google,总之现在的浏览器发展趋势就是
多进程+Sandbox
我曾经在blog上介绍过
Google Chrome 的安全架构
Gazelle 浏览器设计学习笔记
都可以看出这些设计思想。
关于WebKit2:
传统的Webkit
设计中的 WebKit2
这个图不太明显,下半个波浪线框起来的属于Web Process, Sandbox也是做在这里面
还有张Google Chrome的架构:
Safari还很委婉的鄙视了一下Chrome, 说这种架构比较难以扩展到其他应用上去,所以Webkit2 是要做个通用的东西,实现多进程
So if another WebKit-based application or another port wanted to do
multiprocess based on Chromium WebKit, it would be necessary to reinvent or cut
& paste a great deal of code.
That was an
understandable choice for Google - Chrome was developed as a secret project for
many years, and is deeply invested in this approach. Also, there are not any
other significant API clients. There is Google Chrome, and then there is the
closely related Chrome Frame.
WebKit2 has a
different goal - we want process management to be part of what is provided by
WebKit itself, so that it is easy for any application to use. We would like
chat clients, mail clients, twitter clients, and all the creative applications
that people build with WebKit to be able to take advantage of this technology.
We believe this is fundamentally part of what a web content engine should
provide.