欧朋浏览器|自主研发一款浏览器内核的难度,到底有多大?

欧朋浏览器|自主研发一款浏览器内核的难度,到底有多大?

文章图片

欧朋浏览器|自主研发一款浏览器内核的难度,到底有多大?

文章图片


首先 , 我认为开发浏览器不在于难度 , 而在于复杂度和时间精力 。 就像国产汽车 , 都会造壳 , 有几个塌心研发发动机变速箱底盘的企业 。 所谓的标准基本上都是自己先做出来然后提出成为标准 。 所以大家都争标准制定权 , 也有所谓一流企业做标准的说法 。 像ie6的问题不是不标准 , 而是他在各种非标准的情况下也能表现正常而不加以限制 , 这对其他浏览器的兼容问题就大了 。

但是事实上因为微软的统治地位以及开发工具的绑定 , 大家都以IE6为基础写网页 , 结果就导致网页也只有IE6能正常显示 , 而且大家(写网页的)还觉得其它浏览器很挫 。 Opera 9.x的时候速度很快 , Chrome出现以后 , google的服务经常歧视Opera , Opera必须伪装ua才能正常使用 , 比如gmail 。 随着web发展 , js越来越多 , 技术更新太快 , Opera一个闭源公司确实想跟上的话太吃力 。 卖给360后 , Opera原班人马在chromium之上另起炉灶 , 再次出发 。

【欧朋浏览器|自主研发一款浏览器内核的难度,到底有多大?】还有一个重要原因 , 因为当年opera是被放养的 , 没有运营压力 。 这也是opera粉丝比其他任何一个浏览器的粉丝都要忠实 。 对opera失望后 , 还是控制不住自己下载opera 。 记得Opera 9.x还是Presto引擎的时候 , 使用的感受就是反应速度相比起其它的浏览器真的快上了好多好多 , 还有手势和平滑滚动功能…而且还内置了个BT客户端…所以把浏览器内核当UI库网络库用 , 根本不用考虑兼容别人页面的 , 应该有比cef之类更小巧轻便的选择吧 。

其实最根本就是解析 , 渲染 。 最复杂就是多场合应用 。 技术是一代一代积累起来的 。 在对树结构的遍历中递归是最容易的 , 但是调用次数有限 , 因为系统内存有限 。 所以在写html的时候尽量减少嵌套 。 没有写过浏览器但是看过别的虚拟机的实现 。 IE核心组件是mshtml和shdocvw这两个 。 本来是不支持内容编辑的 , 和Word没关系 。 应该是后来加入内容编辑的时候省事 , 拿过来Word的所见即所得编辑HTML的功能的代码 。

最后 , 浏览器需要适应无限可能的页面 , 而操作系统需要适应无限可能的硬件 。 以前某天我突然有个疑问为什么CSS不直接采用XML(HTML)的XPath规范 , 之后大概了解到两者属于接近的时间点分别制定 。 十几年前我算得上是Opera的铁粉呀 , 收邮件、定日程、看新闻、查网页全在一个浏览器里搞定 , 在当时真是酷得没边了 。