今天早上让老婆的吹风机吵醒了,看了下贴吧,看到了这个消息
QQ浏览器内测新功能:支持Chromium组件
立刻睡意全无,在我前面的blog里提到过,QQ在第七代推到重来之后,一直走的是单核路线。把工作重点放在了追求用户基础浏览的体验上。从外表看来,他们采用的是windows比较原生态的技术框架。因为这样不需要连接那么多外部库,安装包可以做的很小。跟chromium更是扯不上任何关系,如果想在这种框架下植入chromium内核,是一个很费力的事,这不太符合QQ的一贯作风。因此猜到他们可能采用了一个取巧的技术方案,那就是chromeframe。
chromeframe是google为了抢夺ie的市场而打造的利器,把chrome包成一个IE BHO插件,插入到IE中。当用户开启这个插件后,chrome就会在IE上替代ie内核渲染。虽然这种强奸式的攻击方式很犀利,但是在国内市场不太奏效。首先,官方下载被墙了,其次,可能是因为法律上或者其他原因,即使安装了,开启也很费劲。但是这个方案很适合像QQ这种以IE内核为基础的浏览器植入,不需要触动原有框架的根基,只需要把chrome当作一个内置的BHO插件打包进来就可以。当然,要加入智能切核之类的功能,也是需要做一些工作的。
从床上爬起来,装了一个网友分享的版本来验证一下我的猜想。
1、安装包还是原来的4M,并没有增大,那一定是采用后安装的方式。默认并不开启这个功能,而是当作一个扩展工具,要用户手动开启。

2、点击安装之后,会把这个组件下载到%appdata%TencentQQBrowserChromeTab,其实就是个完整的chrome。安装完了,他们竟然在用户桌面上生成一个chromium的快捷方式,不知道是出于厚道,还是其他什么原因。

3、粗略观察了一下他们的进程模型和窗口结构,果然跟chromeframe一模一样


4、试了一下银行网站,他们会自动切换成ie内核,看来智能切核的工作还是做了,但是没有找到手动切换的入口。
他们的做法跟猎豹恰好相反,不过都是以其中一个内核作为基础,插入另外一个,这种“偏特化”的方案可能是最省力的。既然是内测,这应该还是一个不太完善的方案,入口还是比较深只适应高端用户。QQ7刚推出时,一度以为他们要放弃在chrome内核的世界登陆,而是只把IE内核的用户体验做到极致。
看来,跟世界接轨还是必要的。