COS Browser开发总结

从2012年1月COS Browser开始立项到现在,不知不觉已经过了一年半的时间,Browser也从1.0进化到2.0。Browser 1.0是基于webkit开发的。到了2.0,我们采用了更加激进的方案:基于chromium开发。虽然之前有在linux上定制chromium的经验,但COS系统作为一款手机操作系统,和PC版本的linux差别还是很大的,直到现在才长嘘了一口气。Browser 2.0是从2012年8月开始做可行性分析、预研的,到10月份开始动手移植,其时chromium for android代码还不完整。Chromium的代码更新的真够快的,开始是基于V21版本移植的,短短半年时间,现在chrome for android都进入V27了。在这个过程中,也跟过chromium的版本,但是太累了,进行了几次版本更新后,最后定格在24.0.1312.71这个版本,打算稳定一段时间后,在下一个开发版本中再更新chromium基础版本。

Browser 2.0基于Content API进行开发,除了移植完基本功能外,还增加了如下特性:

  • 安全浏览:Chromium中包含了Safe browsing功能,但是位于Content API之上,属于chrome browser层,所以我们做了一项工作,将safe browsing代码抽取出来,去掉所依赖的chrome部分代码,作为一个独立的模块编译进Content API。
  • 预渲染:chromium中的prerender代码也是位于chrome browser层,所以也需要理解其实现,抽取出来。另外还借鉴了UC浏览器的做法,如果网页中包含分页,就会预渲染下一页,这样点击下一页时,就能立即看到下一页的内容。
  • Text Reflow:简单说,就是字体放大后,能够智能折行,放大后无需横向滚动。这一功能只在UC浏览器中看到,个人觉得其实用处不大,不过作为一个功能点,至少可以向上头吹嘘一下。
  • 阅读模式:和UC浏览器的阅读模式不同,准确的说应该叫clear read,就是将页面无关元素清除,给用户一个清爽的页面。Evernote出品了一款非常出名的浏览器插件Evernote Clearly,就是主打此功能。IOS 5之后的safari mobile也具有这一功能。
  • 夜间模式:国内的浏览器基本上都有这一功能,但一般实现的并不好,比如QQ浏览器,在夜间模式下,在加载页面时,会有白色背景闪一下,非常刺眼。这一问题,我们在做机顶盒上的浏览器就碰到了,所以这次比较完美的解决了这一问题。
  • 稍后阅读:和read it later不同,页面是保存在本地的,无需联网就可以读取。
  • 选择放大镜:在选择文本时,出现一个放大镜,帮助眼睛不太好的人。
  • 百度转码:使用百度的服务器,对网页进行精简,节省流量。
  • 书签云存储、匿名浏览、无图浏览、UA切换等,这已经成了国产浏览器的标配了,就不多说了。

开始的计划是将chromium的extension也移植过来,做了两个多月后,发觉难度太大了,后来不得不放弃,调整到下一个版本中加入。chrome浏览器最大的问题是太耗内存,经过努力,现在做到了同时开9个复杂的网页,内存控制在200M左右,勉强可以接受。

因为COS是一个新的操作系统,市面上还没有搭载这一操作系统的手机,所以也无法将安装包放出,下面就秀一下界面截图:

cos_browser_startup

启动界面

cos_browser_more_functions

更多功能

cos_browser_settingscos_browser_settings_1

系统设置

cos_browser_tab_switch

Tab切换

cos_browser_bookmarks

书签管理(带云同步功能)

cos_browser_history

历史记录

cos_browser_offline

离线网页

总体上,UI走的是淡雅的风格,至于体验,仁者见仁,智者见智。界面通过滑动进行切换,对于手机来说,操作还是很方便的。

COS Browser开发总结》上有 3 条评论

发表评论

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>