自主研发浏览器有多困难?代码规模有2400万行!

  导读:国际上的浏览器大体分为四类,梁志辉说,有基于Chromium的浏览器(chrome\360\qq\uc\sogou),基于Firefox的浏览器,基于Edge的浏览器和基于Trident的Internet Explorer浏览器。


  自称自主研发浏览器核心产品的“红芯”公司宣布完成2.5亿C轮系列融资,随即引发质疑。网友们指责,该浏览器就是将谷歌浏览器内核套了个壳,并非自主研发,甚至将其比喻为当年的“汉芯”。对此,红芯CEO陈本峰回应:确实是基于谷歌Chrome浏览器内核而开发,但内核层面有自主创新。



  国有浏览器为何多选用谷歌Chromium内核产品?自主研发的困难在哪里?……对于浏览器的相关技术问题,新浪科技专访了360 PC浏览器事业部总经理梁志辉。


  我国自主研发浏览器有何困难?


  据悉,谷歌Chrome浏览器除了正式发布的Chrome版本外,尚有一个Chromium项目,供开发者开源使用。


  “Chromium就是靠开源的路子打败了闭源的IE”,梁志辉告诉新浪科技,Chromium主要的代码是基于MIT license开源协议。从协议层面上,谷歌鼓励第三方基于Chromium代码进行二次开发,而且不要求二次开源。从项目上,Chromium产品的发展是跟开源社区绑定一起,无论是代码审核、Bug反馈、需求收集、标准制定,都跟社区绑定且密不可分。


  一般来讲,Chromium的浏览器代码规模有2400万行,一个Windows操作系统大约5000万行左右,所以做一个浏览器等于小半个操作系统。


  更重要的是,Google在硅谷雇了数百个顶尖的程序员,加上开源社区庞大的程序员参与开发,浏览器的发展非常快,“在国内,360、UC、QQ、搜狗这四家双核浏览器普遍能做到一年至少两次升核。而Google三个月发布一个大版本,半年做一次全网升级,这就是技术上的差异”。


  不同内核有何优劣势?


  “国际上的浏览器大体分为四类”,梁志辉说,有基于Chromium的浏览器(chrome\360\qq\uc\sogou),基于Firefox的浏览器,基于Edge的浏览器和基于Trident的Internet Explorer浏览器。


  四类各有优劣势,其中Chromium是性能最强,标准支持最好;Firefox在证书安全上最激进,对用户隐私最敏感,更符合欧洲人的定位;IE已经被历史抛弃了,每年大概有10%的下降速度;Edge的内核也是闭源,而且没有第三方接口,目前仍处在发展期,与其它内核相比比例较低。


  他认为,从目前来看,浏览器采用Chromium内核选择正确,且该内核在全球市场上占有很大比重。但问题是,浏览器需要支持最新技术,“在这一点上,一个基于Chromium 49的浏览器在标准支持上会存在很多问题,对于一些稍微新点的技术,如web assembly,支持度会很差,对于webgl 2.0的标准支持度也不行”。


  我国浏览器经历了怎样的发展历程?


  梁志辉称,在自主研发的道路上,国内浏览器入局比较晚,而且浏览器需要遵守公开开放标准的产品,所以很少有浏览器会去渲染内核、文档标准、脚本标准。对于360浏览器来说,其是对Chromium内核最大的调整在于双核打通,和用户体验的优化。


  “双核一直是浏览器研发最困难的一个关键点”,梁志辉说,Chromium是开源的,Trident是一个闭源,但是兼容大量老系统的内核。双核浏览器不是将两个内核“像胶水一样粘起来”,而是要把它们的Cookie、表单数据、历史纪录等等打通。对于创新来说,360浏览器则是基于开源Chromium内核+Trident内核的双核浏览器,在内核层面优先用Chromium内核进行渲染,保证性能优越,对于必须使用IE浏览器访问的页面,则使用Trident内核,保证老页面的兼容性,同时也会使用Trident内核渲染,并进行更新。


  “要看一个产品是否自主研发,就要看它是否能紧跟最新的标准,能否及时修复漏洞。如果做不到,证明它们消化不了2400万行的浏览器代码,出了bug不一定能修复”,梁志辉说道。


精彩推荐