说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

UC李云:基于Chromium的浏览器如何打造更好体验

HTML文档下载 WORD文档下载 PDF文档下载
UC浏览器电脑版正式发布2.0版,内核由Chromium32升级到Chromium35。CSDN移动采访了UC浏览器电脑版技术负责人李云,了解UC浏览器电脑版技术团队对Chromium软件架构的思考。

UC在今年4月份宣布以手机为中心,打造全新多屏战略。并同时发布了UC浏览器电脑版和UC浏览器电视版最新版。UC总裁何小鹏表示年底目标是TV浏览器行业第一,PC浏览器进入第一集团。

近日,UC浏览器电脑版正式发布2.0版,内核由Chromium32升级到Chromium35。CSDN移动采访了UC浏览器电脑版技术负责人李云,了解UC浏览器电脑版技术团队的思考。

CSDN移动你目前在团队中担任什么职务?

李云:从官方的角度,我是一名技术负责人。非官方的角度,我在团队中的工作还包含软件架构师方面的内容。


UC浏览器电脑版技术负责人李云

CSDN移动:现在团队的规模有多大?

李云:开发1.0版本时,我们的开发工程师只有18个人的样子,包括了前端、后端和客户端。我们最近开发人员的规模是30个人的样子,现在仍处于扩张时期。目前在北京和杭州两地都仍在招聘。

CSDN电脑版浏览器产品市场是一片红海,UC为什么还要推电脑版浏览器?

李云:电脑版浏览器产品市场的确是一片红海,但这并不表示市场中的产品都已完美。简单说来,从用户层面UC看到了一条巨大的“缝”,即UC手机浏览器的用户在电脑上不得不使用其他厂商的浏览器,这使得一些功能无法延伸而极大地影响产品的整体使用体验。面对各种不同的终端设备,UC相信各功能在不同屏(电脑、手机、Pad)上的无缝整合和延伸是必然趋势,这就意味着存在创新和进一步完善产品的机会。

CSDNChrome浏览器在速度等方面做得很棒,国内的双核浏览器为什么还有机会?

李云首先一点,Chrome浏览器在兼容性上不如IE,正因如此各厂商采用支持双核的形式来改善这一点。

另一点我认为与Google的战略和产品定位有关。Google的战略主要是放在Android、Chrome OS以及云服务上。对于他来说,浏览器的最大使命在于拉动互联网行业的技术发展,为公司的战略实施做技术准备。从Chrome浏览器产品的定位来看,Google致力于打造一个简约的产品,这就使得一些确实能改善用户体验的功能没有进入Google的视线之内。Chrome虽然提供扩展(extension)这一机制用于对功能进行扩充,但不少功能使用这一方式实现显得过重,体验也不大好,这就涉及对Chromium进行深度定制的问题。在我自己没有加入浏览器团队之前,我是Chrome的忠实用户,当时以为像Chrome这样的产品就足够好了,但后来发现,原来浏览器还可以更易用。不管Chrome做得如何,可以肯定的是,进一步改善用户体验的机会还是存在的。

还有另一点值得一提的是,众所周知,Google的不少服务在国内经常不稳定。这也是国内浏览器可以致力于去改善的一个点。

CSDN听起来WebKit核只是Chromium项目的一个组成部分,UC浏览器电脑版基于Chromium开源项目还有其他的好处吗?

李云:有的。Google团队在Chromium项目上包括WebKit在内做了大量的创新,可以说只要存在影响网页打开速度的瓶颈,就能看到相应的创新点。象DNS Prefetch、SPDY、QUIC、Prerender、多进程架构、PPAPI、v8 JavaScript引擎等技术内容都是很好的创新例子。加上Chromium是一个开源项目,所以很自然地会想到基于它做二次开发而吸收其优点。也正因如此,国内市场上的双核浏览器都是采用这一同样的开发模式。


CSDN为什么要快速跟进Chromium项目的发展?

李云:如果从用户层面解释的话很直接,因为Chromium每一个大版本的出现都会在性能、软件结构和安全上做优化,且会修复一些严重影响稳定性的缺陷。快速跟进意味着能让用户尽早享用到这些益处。

从技术层面解释的话有不少好处,在此列举四点。第一点是与软件的开发效率有关。由于Chromium项目的规模非常庞大,不断提升开发效率是该项目的一个永恒话题。也正因如此,Chromium团队一直致力于改善项目的编译效率问题。比如,在UC浏览器1.0采用Chromium M32(注:M是指Milestone的首字母,后面的数字指的是大版本号)内核的时代,那时我们只能用Visual Studio 2010进行编译,当我们升级到了Chromium M35之后进入UC浏览器2.0时代时,我们采用ninja这一更高效的工具完成编译。还有,现在我们全是采用gyp来实现跨平台的工程源文件管理,按Chromium团队的规划,今年年底会用更为高效的gn取代它,这样生成编译所需的工程文件的效率就更高,如果我们不能快速跟进就没有办法获得这些好处。

第二点关乎解决软件缺陷的效率。我们发现缺陷以后除了自己修复外,还会向Chromium社区报告bug,可以通过与开源社区协作的形式快速解决问题。如果内核版本不跟进的话,Chromium社区不会对老版本中的bug加以理睬,这就不能借助开源社区的力量。当然,这一好处也隐含了我们团队可以通过快速跟进而反哺开源社区。我们团队所修复的一些缺陷会通过告知解决方案或直接upstream的形式提交给Chromium开源社区。这不仅帮助社区解决了问题,更方便了我们下次内核升级,因为如果不将这些代码提交到Chromium的代码库,下次升级时合并代码就可能出现冲突点。

第三点有助于持续优化代码质量。Chromium项目的每个版本变更量都较大,其中很重要的一部分变量就是代码结构与质量在不断地改善。如果我们的设计是基于Chromium的老版本的话,当Chromium在新版本中优化过后,升级到新版本就不得不调整原始设计以适应新的技术方案。这使得团队可以一定程度上避免“技术债”高筑。

第四点好处在于,通过快速跟进有助于帮助网站的建议者在他们的网站中尽早运用上新的技术。某种程度上这也是帮助推进新技术的普及。

CSDN之前有过一些技术弯路吗?你们是怎么克服的?

李云:最大的一个弯路在于忽视Chromium的软件架构。结果使得各工程师在修改代码和增加文件时很混乱,程序的可维护性很差。这一痛苦经历让团队深刻地认识到维护清晰的软件架构是多么重要。目前整个团队在日常工作中都非常重视这一点,日常工作中对这类问题的敏感度很高。

另一个弯路在于我们的做事方法上。在进行软件功能开发时,工程师以前很容易一拿到需求就根据自己的理解立马上手开干,以至于做了不少“重新发明轮子”的事。而后来我们发现,所需实现功能依赖的不少基础模块Chromium项目中已有,于是我们在UC浏览器1.0的开发过程中不断地将“自己发明的轮”子给去除,用Chromium项目中现成的取而代之。我们现在养成的习惯是先看一看Chromium中是否存在可复用的部分,之后再干。这种做事方法表面上看起来慢了,因为要花时间去学习和研究,但长远看来利大于弊,除了通过该方法能不断加深对Chromium项目的熟悉外,这一方法还有助于内核的快速升级。

我想分享的一个弯路是软件设计的解耦方法。我们以前所采用的解耦方法一是很难规范化,二是很难与Chromium的新内核进行合并。现在的解耦方法除了规范化很简单外,使得在合并过程中对于各冲突点总是存在一个“明亮的灯塔”,让合并工作更加明了。实际上,我们所采用的解耦方法很简单,用一句话总结的话是“无论在Chromium之上是增加、调整或去除功能,我们在代码层面总是做加法”。这句话不好理解,但我也只能透露到这个层面。

CSDN要求高多少给人感觉有些空洞,能具体一点吗?

李云:高要求是多方位的,或许不能在此一一列举。对于软件产品的开发来说,只要谈“简单”的两点就可以看出团队的水准。第一,我们团队所编写的代码与Chromium开源项目的风格完全一致。第二,我们团队所实现的每一个软件模块和增加的每一个文件完全符合Chromium的架构与分层模型,彻底杜绝了模块混乱问题。业内能做到这两点的开发团队除了我们无他。我说这话还是很有底气的,因为做浏览器产品的在业内也就那些人,通过多方渠道可以完全掌握同行信息。有些团队的代码质量甚至已经差到将开发工程师逼走的境况。

浏览器是一个复杂度非常高的产品,如果仅仅停留在打磨外表与功能,却没有一个让人放心的“里子”的话,产品质量的高水准是不具可持续性的。这种不可持续性将消耗团队大量的精力,使得团队没能在优化和完善功能这二条路上走得更富质效。

CSDNUC目前主打多屏战略,那UC浏览器电脑版升级至2.0的意义和影响是什么?

李云:既然是战略那就是我们长期努力的方向,不会是一个版本的升级就完全实现了战略目标。表面上看,2.0与1.0在界面上没有大变(但细心的用户还是能看出有些效果差异的),但这个版本是为后面版本做技术储备。

技术储备体现在两大块。一是,我们通过这次大版本的升级更加充分地验证了在技术方面所采用的解耦设计方法具有很强的适应能力,为我们将来持续跟进Chromium的发展做准备。这样做的好处前面已谈及。二是,我们通过Aura化后,可以做出更炫效果的产品,同样为将来吸引更多的用户做准备。不论是怎样的战略,总是要有一定的用户量才更价值。

我认为战略是要一步一个脚印去实现的,持续地打造更高水准的工程师队伍才能让公司战略真正立得住,否则只能是口号。

向Facebook看齐,Twitter收购Android屏幕待机应用开发商Cover 绝对的超现实!Jaunt打造360°全景VR电影 Unite China 2014课程解析:行业解决方案专场免费开放 Manhattan,Twitter规模的实时、多租户分布式数据库 Ceph浅析(中):结构、工作原理及流程 孙元浩:基于Spark引擎的高速内存分析和挖掘工具应用 腾讯私有云背后的团队,品高要做企业云计算的产品经理 撼动企业应用架构的十大技术趋势 Airbnb的管理之道:产品设计的点评策略与技巧 Windows 8.1 Update 1的下载地址和八点须知 《近匠》棱镜:手游渠道SDK平台的技术历程 OpenSSL究竟为何物,为何它的影响力如此之大? Redis大冒险:如何跳出SQL这个坑 【走近院士】张尧学:基于透明计算的云操作系统 微软转型之路:从Build 2014开始 大势所趋 HTML5成Web开发者最关心的技术 从火种到核心,浅析Hadoop大数据用户的演变 搭建高可用的MongoDB集群(上):MongoDB的配置与副本集 软硬件协同创新,共建未来数据中心 优秀Unix管理员的七个习惯 2014Unity亚洲开发者大会倒计时 干货内容日程汇总 TIOBE 2014年4月编程语言排行榜:Perl跌至历史最低点 Hadoop集群环境下网络架构的设计与优化 CloudFoundry架构优化:NATS集群化方案 Dropbox推独立应用,公司估值已达100亿美元 【走近院士】梅宏:云计算时代软件技术发展需求和挑战 云计算战争:OpenStack vs. VMware Cortana与Siri、Google Now的较量:支持功能更多 代码面试最常用的10大算法 “颠覆医疗” 时云医疗推三款硬件产品 华为章宇:如何学习开源项目及Ceph的浅析 友元函数重载操作符@obj,被c++编译器编译后被解释 对vcl库底层机制一些不明白的地方2 存储图片为什么不行? 真的很苦恼,如何同时更新两个文件? 数据库问题,大家帮帮忙啊 asp.net连接sqlserver 关于在同一asp页中的两个select的问题 如何写这种存贮过程?(急) 哪儿有asp的帮助下载! 关于数据库连接方法的问题! -----------产生错误:线程正被中止。--------------- 我刚刚学了C#,但是不知道自己的程度 如何在点击Memo时取得当前行的值? midas的一些问题! EditPlus 2中如何实现对java编译和调试?立刻给分 为什么在 CHtmlDialog 中映射的html button click 的事件会促发两次? 广州一戒毒所将数十戒毒女卖给“鸡头” 菜鸟级问题。看到有很多视图的列有带链接的。不知道怎么做。怎么看链接 为什么安装Windows 9x,要选FAT32分区类型,而如果安装Windows 2000/NT/XP系统,就必须要选NTFS类型,这两个类型有什么不一样吗? 各位大哥好,问Email问题 哪位仁兄告诉我,Windows写驱动主要用什么工具呀,(包括调式驱动) 学校期中考试的题目 treeview问题,请问在.net中该事件如何写 如何运行servlet? 表里面有几千条带扣的字符串需要将扣去掉。 能否解释一下,如下一些东东。 〔绝对给分〕几个问题! 用PHP的GD库可以输出png图片,如何在用户浏览的时候同时将图片保存一份到服务器上? 更换操作员应该怎么做,谢谢! JAVA优于C++ 怎样修改桌面图标 char转换numeric出错 如何实现自动登录?必送分! 安装j2sdk-1_3_1_07-linux-i586.rpm.bin失败!!!!!!!!!!!!!!!1 请问:在javascript脚本中怎样得到DataGrid中的CheckBox列的选中状态?? SOS!!!! 网络讨论学习 欢迎参与 IIS问题 [java 中文问题] 如何让swing的jtextfield 同其他组件正确显示用户输入的中文 能否解释一下,如下一些东东: 如何配置服务器才能让客户端收发邮件 jdk如何下载 MYsql 最新版的下载地址 " 萨斯" 病毒从哪儿来?(转贴) 我写了一个dll,用delphi自己调用就没事,但pb里就提示出错 ★★★★数组问题★★★★ 关于DS1302的使用 vb.net这个功能如何设置 请教:关于VSS的数据迁移问题 使用用户控件,在类实例.LoadControl("test.ascx")时提示虚拟路径“/test.ascx”映射到另一个应用程序,这是不允许的 关于interdev的问题 急!急!急!一个关于XML的问题!急 ,高分求助 1.在下类情况下,物体的质量发生变化的是 ( ) A.把一金属块从地球带到月球B.运载火箭从地面发射到太空C.铁块熔化成铁水D.铜棒拉成铜丝谢谢````帮忙``` 怎么能把自己变成想变的动物?急事,我奶奶在天津那边,她病了.我想看看她去,诸位有什么办法让我变成小鸟吗?急 送元二使安西是什么意思 嗯 设宇航员在某行星上从高32m处自由释放一重物,测得在下落最后!s内,所通过的距离为14m,则重物下落的时间为 该星球的重力加速度为 目前,我们学的只有一点点,好像才学到自由落体吧。 越稀越水解 那PH=1 和PH=3 的醋酸钠哪个oH浓度高总觉得有点矛盾,好纠结啊其实我想这个是因为等PH时浓度醋酸钠>苯酚钠>碳酸钠>氢氧化钠,可要是越稀越水解不就改反过来么? 人在屋檐下 (打一“电子技术词语”) 赤铁矿石和黄铁矿石哪个更适合炼铁理由是什么 它的学名是什么?知道更多的说说俗名. 二便不通 (打一“电子技术词语”) java中长整型定义int x=0x80000000;System.out.println(x);long y=0x100080000000;System.out.println(y);这样定义为什么不行编译时候错误:test.java:17:过大的整数:100080000000long y=0x100080000000;long不是64位吗,这样y应该 俗名海肠的生物属于什么目什么科什么属?学名是什么? 天气谚语有什么 为什么水总是往低处流? 今天几月几号,现在几点钟? 串联的电灯和并联的电灯哪一个灯泡亮,为什么 中国近代报刊广告的出现与发展的特点 我们是什'么动物变的 黑瞎子岛西半部分属于中国,东半部分属于哪个国家 花开一诺是什么意思呀 73变是什么动物 为什么会起风 人们常说‘‘水往低处流’’是因为( ),它的方向是( ). 送元二使安西 现在的道理 2012年1月14日至23日天气(每天1个,不要温度、风向,只要像什么“晴”“雨”什么的,最好是英文) 人和石头都是粒子组成的,为什么人有灵魂呢? 水向低处流是因为水受到( ),该力的方向是( ),该力的施力物体是 今天月亮几点升起 “我思故我在”表达了什么样的精神或境界?还有什么含义? 整型数是什么意思 试分别从物质组成,分子构成,物质变化的角度各说出一种观点. 望庐山瀑布表达了诗人什么样的精神境界 急!一幅漫画:一匹马正在拉磨,脖子上挂着个牌子,写着“千里马”,漫画左下角还有“试用期”,求寓意!一幅漫画:一匹马正在拉磨,脖子上挂着个牌子,写着“千里马”,漫画左下角还有“试用 关于惠州一中的那点事有惠州的户口(近几年才搞的)但没在惠州读过书 就是说现在要上高中了才来这里读 这种情况的话会不会报名时要加钱呀什么的比别人麻烦.会不会不管考多少都只能 水为什么往低处流? 各种气候下的自然景观比如亚热带季风气候是亚热带常绿阔叶林带,那么其它的是什么啊? 境界线上的地平线第二季7月7号几点出 水往低处流的原因 日月之行,若出其中;星汉灿烂,若出其里”句中“若”字用得好,请说好在哪里? 可口可乐公司现在共有215升的饮料需要装在1.5升和1.25升两种瓶子里(空气部分忽略不计),一共装了160瓶.请求出1.5升和1.25升的饮料各有几瓶?假如1.25升的饮料单价是1.5升饮料单价的80%,每瓶1.5升 为什么水要往低处流?麻烦详细一点 日月之行,若出其中;星汉灿烂,若出其里.中的若字用得很好,请你分析一下好在那里 初中英语词汇达标手册 苏州市教育科学研究院编在哪里买 水为什么会往低处流? 水解浓度大小的比较表示0.1mol/LNaHCO3溶液中有关微粒浓度(mol/L)的关系式,正确的是()A.c(Na+)>c(HCO3—)>c(CO32—)>(H+)>(OH—) B.c(Na+)+c(H+)=c(HCO3—)+c(CO32—)+c(OH—)C.c(Na+)+c(H+)=c(HCO3—)+2c(CO32—)+c(OH—) D.c(Na 急求初中英语词汇手册 8题物理九上 写一段描写月色的段落大约100字左右 由静止开始做匀加速直线运动的汽车 途经间距为125m的AB两点 历时10s 经过b点时的速度是15m/s 则出发点到A点的间距多大最好要有过程..我比较笨笨的.. 8.9题物理九上 推荐一本单词分类归总的英语词汇手册,例如:earnings salary wage income revenue都表示“收入”归在一起,这样比较便于记忆, 水为何往低处流?什么由低往高处移动? 介绍中国谈话礼节的英语作文,就是在聊天时适宜说什么.不适宜说什么.最好有翻译 高中英语词汇达标手册大家帮帮忙··知道高中词汇达标手册的英语单词MP3或者其他的也可以·· 一道应该蛮简单的自由落体物理题.A球自塔顶自由落下,当落下1m时,B球自距塔顶7m处自由下落,两球恰好同时落地,则塔高为多少?答案是16m... 8题 9题, 英语单词手册, 黑板与黑板擦的吸引力是5N黑板擦重2.5N当用0.5N的力向下推它时它沿黑板匀速下滑若事词黑板擦匀速向下运动 则需施加竖直向上得力大小为?若事词黑板擦匀速向下运动这句话改成 若施此黑板 7.8题 描写 月色 的句子或段落 白俄罗斯总统提议格鲁吉亚重返独联体遭巴黎股市CAC40股指25日下跌德国政府:默克尔被窃听手机泄密可能性美国10月份消费者信心降至今年以来新女子参加富豪相亲会 反问记者你不爱钱央视马年春晚首次审看节目 共有28个故宫凶杀案嫌犯在协和医院抢救 已度过山西平顺回应“官员粗口门”:已对涉事德国政府:默克尔被窃听手机泄密可能性意大利媒体称英美合作监控意通讯 政府欧安组织将向阿富汗派遣团队帮助选举美国耐用品订货9月份环比上升3.7%欧盟承诺为企业发展提供便利俄罗斯再次“威胁”乌克兰与欧盟眉来眼欧盟成员国将推动边界监管防范偷渡印度东部洪灾已造成27人丧生新华国际时评:中国周边外交创新局淡水河谷40年累计向中国出口铁矿石1安倍希望早日通过新设“国家安全保障会加拿大总督访问蒙古国李克强同蒙古国总理阿勒坦呼亚格举行会曾是男子专属的抹额如何变成古代白富美上了《新闻联播》,「在行」最近在忙些大国大战!美媒称美陆军正准备与中俄打油价“绝处逢生”反弹逾1%,加息搬上荷兰人网购也如此热衷于货比三家?5月10日:油价将回调至30美元超级油轮排队进入青岛港,原油5月10少林寺武校:用智慧引领学生中国神秘武器问世:瞬间可毁美一座城市在商业开发上,西甲与英超的差距正逐渐一旦此工程完成 中国将重回世界军顶端中国将军一句话令美司令三天三夜合不上【小说】小时候姐姐总是不穿衣服抱我,这个盛产美女的国家,如今却沦落至此【小说】新婚后没有洞房,以为老公不喜青春若有张不老的脸!最美女神梁小冰难“千里眼”都装上了航母,中国的下一步众泰的老表来了,法拉利看到都慌了无证无照就敢脸上动刀?专家和老人有了一个约定…不能忍了!中国第一个要收拾它 美方寸
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘