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

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化后,可以做出更炫效果的产品,同样为将来吸引更多的用户做准备。不论是怎样的战略,总是要有一定的用户量才更价值。

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

友友姚宏宇:用C,C++和Java实现自主研发之后,放开心态迎“高朋” 新技术对传统学科的颠覆:系谱网使用大数据寻亲问祖 IDC:2015年全球平板电脑出货量将超PC Web开发者的福利 30段超实用CSS代码 库克出席D11科技大会:苹果公司没有陷入麻烦 千兆的带宽是不够的,最新研究将我们带入400G时代! 告诉你一个事实:移动互联网依然不大 一切才刚刚开始 戴尔的10亿美元云扩建计划到底是什么? iOS vs. Android,应用设计该如何对症下药? 扁平化设计五大原则 16种折磨开发者的方式 2013年度中国优秀开源项目征集活动正式启动 技术趋势:产品设计向“钱”看 服务器领域:旧时代已过 新时代正在降临 速度与金钱的碰撞:F1赛车将搭上大数据的东风 中国&#183;北京第一届开源大会Hadoop专场侧记:Hadoop已经成为大数据分析平台的标配 Marissa Mayer为何带雅虎重回门户时代? 开发者最爱的三款开发工具 Facebook开源JavaScript库:React 硬件天堂深圳行:从Seeed Studio、Knewone到柴火创客空间 消费应用开发难赚钱?做个企业app store吧 开发开源软件的智慧:够简单,很好用 历届中国云计算大会PPT集萃(终章):架构到实践的全面解析 透过现象看本质:详谈数据可视化 专家观点:HTML5无法彻底抹杀Native应用 Google地图工程主管Raj Shah跳槽至微软在线服务部门 微软证实Windows 8.1引入类“开始”按钮 系统6月26日开放下载 PHP开发者意向调查:移动开发+云服务成为焦点 研发周报:16种折磨开发者的方式 移动周报:Jolla和Sailfish OS,那些你应该知道的事儿 优化技巧分享:把内存消耗降低至原来的1/20 请帮帮忙,如何调用dtswiz.dll 如何用BDE Administrator设置数据库别名(不用ODBC)访问Oracle数据库。高分相送! 对不起,我知道这个问题很简单,但是我一直没有搞出来,您能告诉我吗?datagrid中进行insert,delete,update操作? 寻求eVC用ADO操作cbd数据库的代码。 两个关于枚举类的问题 问用过struts的朋友一个问题,给100分! huffan交流系数表在C中如何表示?????? 线程问题~~~ 有哪位知道在 Windows 2000 下 锁定计算机时应用程序可以得到什么消息啊? 急!!关于数据的导入导出!! Cells不被VB支持吗? 获取字段类型 如何将DataGrid1中的数据打印出来, 如何使程序自动修改CEdit中的文字? 请问在.NET类库中有这样的类吗? 如何知道某个表格被锁 求助capboy等网络视频播放高手!!! 菜鸟问题:在VC中用ALTER TABLE指令需要什么头文件? 请高手帮忙,感觉难度很高 大家做GUI时有什么好用又免费的日期控件呢? 在javabean中用sql server2000的jdbc驱动连不起数据库! 添加图片到数据库中,奇怪现象! 如果我已经得到了一个DOM树, 我第一次运行HTML HELP时,new怎么会是无效的? 我的 程序在调用FORM.ACTION的用法不正确。能告诉我怎样用它 怎幺样实现一对主从表的数据库基本操作?用ADOQuery连接SQL2000. 有关统计打印的问题 一个关于用VB调用C++builder编写的DLL文件,DLL的API函数中存在函数指针。请各位高手给点意见! 大专生如何考研?(up有分) ★★ 为高兴而送分 ★★ 关于打印的问题,请各位帮忙 请问应该用何种信用卡 利用INTERNET远程连接问题 移动办公相关问题?如在两台机器里编写同一段Web程序。 怎样将oracle sql中的in语句改为exists语句? 求教win 2000双网卡上宽带的问题,请高手帮忙! win2000,给文件改日期的命令是什莫??? 为什么我的背景图片显示不出来? 请问如何在DAO的SELECT语句中使用COUNT等运算符? 请教:请问在程序中怎么在Check box 前边的小框上打上对号 老板让我一个月内学会vb,大家说可能吗? 我装了project 2000后,原来的office 2000只能用50次了,怎么回事? 请能提供DES和RSA算法的源程序呀,vb或VC的都行,最好是VB 请问如何让一个报表的内容同一个DBGrid一致,可以自由设置字段的是否显示? 我用vb新建了一个文件请问如何能双击就能打开我的程序,就跟word一样例:我新建一个kk.doc 只要双击kk.doc 就能打开word 使用Enumwindows的问题 我的jsp页面能够运行但是WEBLOGIC显示了<2002-9-2 上午10时41分13秒> <Error> <HTTP> <Connection failure 大家是怎么看下载来的MFC的程序原代码的? 在JAVASCRIPT中,我怎样用语句控制一组选钮中那一个被选中? 如何对 redhat-config-network 进行配制? 各位师兄:哪里可以下载讲Delphi6多层结构的教材?很急!!!! 玻璃磨边机 磨边标准玻璃磨边机 磨出的玻璃边 什么样的是OK的.都有什么类型的不良状况(做简单现象描述),不良原因是什么.请专家作回答,谢谢一楼的回答.我补充下我想知道,都有什么磨 细胞外液的渗透压一般高于细胞内液的渗透压,这有利于物质的交换.这句话对吗?请简要说明原因! 成倍节拍流水施工怎么计算的?某建设工程由四幢大板结构楼房组成,每幢楼房为一个施工段,施工过程划分为基础工程、结构安装、室内装修和室外工程4项,其流水节拍分别为:5周、10周、10周 细胞外液通过什么与外界进行物质交换? 如右上图为“细胞直接与内环境进行物质交换”的图解,其中②④⑤为细胞外液.相关叙 述中错误的是 ( )A.若某人患镰刀型细胞贫血症,则形态发生变化的是图中的⑥ B. 若某人因疾病导致 日本地震海啸对日后向日本出口海产品是否有影响 细胞可以直接与什么进行物质交换 中国的象形文字有哪些 日本地震 核泄露 海产品还能吃吗? 玻璃磨边的要求,规范之类?玻璃家具的磨边要求, 亚硝酸根离子和亚硫酸根离子在酸性条件下有氧化性吗这两种离子不是不能在酸性条件下存在么 怎么又在酸性条件下有氧化性? 日本地震核泄漏,江浙沪居民日常吃的海鲜会不会受到污染啊, 细胞外液是细胞与细胞进行物质交换的媒介这句话对吗 青藏地区的主要旅游景点有哪些?什么季节去旅游最适宜? 为什么河口沉积作用减弱,河口三角洲会向湖心移动? 如图所示,条形磁铁竖直放置,一水平圆环从磁铁上方位置Ⅰ向下运动,到达磁铁上端位置Ⅱ,套在磁铁上到达中部Ⅲ,再到磁铁下端位置Ⅳ,再到下方Ⅴ.磁铁从Ⅰ→Ⅱ→Ⅲ→Ⅳ→Ⅴ过程中,穿过圆 旅游资源都有哪些价值?rt我知道历史价值艺术价值观赏价值美学价值科学价值,还有别的吗, 废醇蒸馏的蒸馏塔设计一般多高? 一圆形闭合金属线圈从条形磁铁的N极平行于轴线向条形磁铁的中间快速移动时,引起线圈内磁通量变化的有两个方向的磁场:磁铁内部的磁场和外部的磁场.为什么?不管怎么移,内部磁场的磁通 细胞与外界环境进行物质交换哺乳动物肌肉细胞之间进行物质交换的环境是()A.血液 B.体液 C.组织液 D.细胞内液 五年级毛主席在花山表达了毛主席什么意思 中国古代有哪些象形文字? ()然若失,()然若揭,()然失笑,()风化雨 (填成语)快 铝合金上的封箱胶污渍用什么方法擦干净比较好? 中国古代象形字有哪些? 细胞与外界环境进行物质交换(求详解啊~)哺乳动物肌肉细胞之间进行物质交换的环境是()A.血液 B.体液 C.组织液 D.细胞内液 橡胶手表带脏了怎么弄干净?已经试过用橡皮擦了,不行耶~ 沈阳1日游有什么推荐的?要自然风光的!市内可以不用考虑了. 中国象形文字 目怎么写 成语:()然悔悟 智利有哪些值得观赏的自然景观和著名景点?想去智利旅游~ 中国象形字大全花的象形字是什么 人体内的细胞与外界环境之间进行物质交换的器官有哪些?有些什么作用? 地质灾害易发性与危险性区别 重铬酸根在酸性环境中与亚硝酸根的反应方程式 控制细胞与外界之间物质交换的是什么 长江三角洲是我国地面沉降严重的地区之一,下图示意1986—2008年长江三角洲某地区地面沉降的发展变化,读图完成4—5题.5.造成长江三角洲地区地面沉降的主要原因是A.地震 B 中国的文字是由象形文字开始,那英语呢? 日本地震对中国其他品牌汽车价格有什么影响日本车和配件因为地震可能会涨价,其他品牌会怎样? 铁化合物的颜色 二氧化硫和亚硝酸盐在酸性条件下能反应么 膝跳反射的反射弧是什么样子请给出图解 说明有几个神经元 地质灾害调查跟地质灾害危险性评估有什么区别,这两个一般是一起做的吗? 条件反射一旦建立,反射弧就不变了吗?当无关刺激与非条件刺激在时间上多次结合以后,原来的无关刺激就成为条件刺激,所以条件反射是在非条件反射的基础上.借助于一定的条件想过一定的 膝跳反射反射弧有什么特点10北京卷)3.以下依据神经细胞功能做出的判断,不正确的是A.膝跳反射弧中传出(运动)神经元的轴突较长B.膝跳反射弧中传入(感觉)神经元的树突较多C.突 关于卤素和铁元素化合物颜色的问题1、卤素单质在单独存放时、水溶液中、四氯化碳中的颜色分别是什么?2、二价铁元素、三价铁元素的离子、氢氧化物颜色 条件反射和反射弧之间的区别.如果在做题中,什么时候应该用条件反射,什么时候用反射弧?请各位不要复制一大片相同的答案.纯纯的菜鸟---我在此先感谢各位. 求一首毛泽东的诗词和解释,3——5首.我明天要用的,最好有出处.时间 给玻璃磨边能用挫刀吗?就是哪种平锉. 条件反射有反射弧吗 谁知道毛泽东的诗词和解释?除了/菩萨蛮·大柏地/七律·冬云/清平乐·六盘山/卜算子·咏梅/泌春圆·雪/忆秦娥·娄山关/西江月·井冈山/菩萨蛮·黄鹤楼要诗句翻译 长江三角洲形成的原因 非条件反射与条件反射的反射弧相同吗?它们分别是什么 解释毛泽东的诗词卜算子 咏梅 读陆游咏梅词反其意而用之风雨送春归 飞雪迎春到 忆是县崖百丈冰 犹有花枝俏俏也不争春 只把春来报 待到山花烂漫时 她在丛中笑 铁的某种化合物中的铁元素与硫元素的质量比为7比8,则该化合物的铁元素与硫元素元素个数的比为 条件反射和非条件反射都需要完整的反射弧吗 成语什么柯一梦 请简述长江三角洲城市带形成的自然原因.如题,谢谢啊~ 人体内的细胞通过内环境才能与外界环境进行间接的物质交换.“内环境”换成“细胞外液”可以吗?为什么 填成语:一技之() ()华秋实 ()枯石烂 ()风化雨 ()柯一梦 ()里淘金 ()春白雪
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘