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

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

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

华为王丰谈华为一体机三大优势 FusionCube SQL Server针对Windows集群加速 浏览器基准测试:IE11成绩惊人 移动开发工具访谈《近匠》第02期:梆梆安全——APP安全之道 罗永浩:ROM创业,锤子科技A轮融资7000万 独立开发者的自白:Objective-C最糟糕的13件事 回顾Google这一年——Android篇 百度手机卫士正式发布 “防吸费”功能全球首创 2013年平板电脑市场竞争回顾 Apple太阳能数据中心进展顺利,但却在税负减免上备受争议 一名开发者的年度回顾 智能手表Pebble明年初推应用商店 开发者今日起可提交应用 够快科技推出企业级云存储服务“够快云库” 项目开发中,质量和速度哪个更重要? 亚马逊AWS落地中国,云计算产业圈集体发力 Node.js 2013年大事记 【开源推荐】ThinkPHP:大道至简,让Web开发更简单 IE11中的WebGL探秘:渲染速度超Chrome 数据驱动智能:百度在计算广告学领域的技术突破 UX设计师和软件开发者,谁将是2014年的老大? 爸爸去哪儿:开发知名题材手游压力山大 多平台同步 谈IE11全新功能 高通副总裁沈劲:移动是产生变革的强大原动力 高性能、高流量Java Web站点打造的22条建议 云巅:第三代虚拟技术+搜索引擎+乐高理念打造分布式桌面云 Intel:从“芯”构建下一代数据中心 WhatsApp:50名员工,月4亿活跃用户,日160亿条消息和5亿张图片 三星Galaxy Gear智能手表失利 需改进的8个方面 IE11全新的F12开发人员工具详解 研发周报:为什么开发者担心将代码公布 Hadoop YARN的发展史与详细解析 一周消息树:Firefox OS会不会成为下一个Android 请推荐几处下载java编程方面电子书的站点? 请问有没有工具把access中的文字繁简转化一下?? 找一个高人——HC 请教如何使用API中的GetUserName()? 怎样才能买到 外文期刊??? 如何将一屏显示不下的文档打印在一页当中(CHtmlView) 请问《程序员》杂志上的那几本外文期刊怎么买??? 我下载了几个rar文件有*.rar\*.r01\*.r02等等,可是这个网站没有提供合并文件,忘了怎么合并了,谁知道快告诉我。copy *.rar+*.r01不管用 请教在线的高人(在oicq上吗?) 我是白痴!大虾,什么是专家分,怎么得,有捷径吗???????????? 图形化界面问题!控件与窗体不重合! 书上的东西我看不董,是关于PB70与COM/MTS的,COM/MTS是什么,谁能告诉我? 怎么样能解决死机的问题? 跟帖比聊天有意思多了,哈哈 过去了,就不要再提 灌水乐园,我的MUD练功场 StringList 与 String的区别 为什么我的组合筐里只有最后的项,即"交叉线",没有其他的内容? 关于Tmemo 共享软件的开发经验 部件(Crystal Repot)引用错误(crystl32.ocx),请高手指点,,谢谢 无数个问题之123 steps你有oicq吗?壮丁!!!sos 怎样将数字字符转化为数字呀? WIN98下能读的光盘到了WIN2000/NT下居然读不出来! WIN98下能读的光盘到了WIN2000/NT下居然读不出来!(我的光盘是刻录的) 我不想要分(也许我只是个女生) 40分=一网址:那儿有Effective C++ 2e电子书? 如何在菜单中加入下拉框?像delphi的那样. 怎样用vb程序实现监控打印机打印输出情况 大家评出水园最有人气的mm,我给分啊,行动要快啊~~~~~~~~~~~~~~~~~~~~明天晚上7点结贴 编译servlet文件出错!急!!!! 寻觅朋友(用delphi优先) 我希望能认识安徽的程序员~~~~~~~~~~~~~~~联系:6011458(OICQ) 很长时间,我还是觉得这是一个事实! javascript中怎么进行数据类型间的转换? 关于非文档视图结构程序的菜单 寻delphi兼职程序员,要求比较懂数据库,多劳多得,不劳不得,报酬从几十元到几千元不等。 在程序中更改Filter to lastlove(☆)robin(★) 关于《深入浅出MFC》电子书 SOS:秦皇岛的小男孩胡颖1岁胡颖1岁8个月,得了白血病,希望大家帮助他,留住他的小生命 所有武大的GGDDJJMM进来报名 所有深圳的GGJJDDMM报道 请各位汇编高手看看这个程序,帮忙找一下错误。 无法安装REDHAT LINUX? inet控件怎样使用?请帮助 今天卖到一套D版VS7(6CD)不知道是真是假 如何读取注册表下某一键值? 一个语法错误,搞得我半天还没有弄出来!!!!!!!救命啊。 关于DCOM。 英语中一些单词的词性是怎么变的?比如说名词变为动词等·有什么规律的吗? 双音节词概括表示心理特点的双音节词语 判断下列词语的词性1.我曾屡次发现,每当我感到前途迷茫而灰心丧气时,只要记住很久以前我在那座小悬崖上所学到的经验,我便能应付一切.我() 曾() 屡次() 发现() 当() 感到( 英语中以ment结尾的单词既有名词词性又有动词词性的有哪些.如:fragment就是.急 表示心理活动的词语 如何判断汉语词性 汉语双音节词语是什么 表示心理活动的词语.例如:表示心理活动.例如:爱 恨 想 忘记 觉得 感到 希望 羡慕 憧憬 回忆.动词,一个字或两个字,阅读需要!不能有误,有误不给分,若收集500个以上,奖50-100分 如何判断一个词语的词性 什么是双音节词语? 表示心理活动的词语有...不急!不急!不急! 判断括号词词性1 这(朦胧)的桔红的光,实在照不了多远.( )月色便(朦胧)在这水气里 ( )2我们很快就要在全国(胜利)了 ( ) 这个(胜利)将冲破帝国主义的 双音节词语是什么,请举例 表示心理活动的词 老师这个词是什么词性? 什么是双音节词 词的分类 实词包括名词、动词、形容词、数词、量词、代词.标明下列各词组的词性:坚决——决心( ) 可爱——热爱( ) 荣誉——光荣( )企图——意图( ) 答案——答应( ) 气愤 这个词的词性是什么?这句话翻译为英语 现代汉语中单音节词和双音节词的区别 名词,动词,形容词,数词,量词,副词,的定义举出一些属于这些词的一些词语.按类别在找5个例句.定义最重要 这个词是什么词性?She enjoys spending other people's money spending在这里是什么词呢?非谓语动词还是副词还是什么词?这句话的结构又是怎样的? 在汉语中什么是单音节词》?和双音节词 能否举例?多举几个! 用十二种词性的词造一句句子. 12种词性为:名词、动词、形容词、数词...用十二种词性的词造一句句子. 12种词性为:名词、动词、形容词、数词、量词、 代词、副词、介词、连词、助词、 “决不”这个词的词性是什么? 什么是汉语单音节词和双音节词,怎么定义的?谢谢 用实词中的(名词,动词,形容词,数词,量词,代词)写四词的对联 英语4级词汇里面 包含考研的吗?因为 手上有本4级的单词书 不知道可否先拿那个背 在汉语中什么是单音节词》?和双音节词 能否举例?谢谢朋友们的回答了. 名词动词形容词数词量词代词各写10个 考研的单词包括四级六级的单词吗? 下列加点的字中表示的单音节相当于现代汉语中的哪个双音节词?有仙则(名):有龙则(灵):苔痕上(阶)绿 :惟吾(德)馨: 英语的名词动词代词形容词副词量词连词冠词 考研英语单词中包含英语四级单词 是包含全部吗 木兰诗结尾一节诗句有什么含义 安全它的动词 形容词 副词 名词 有 没有包含绝大部分英语四级词汇的英文书籍?小 弟即将考英语四级了,想看看包含大部分英语四级的书籍,介绍一些好吗? 1,木兰诗有怎样的特点,用双节音词概括 对联中名词对名词,动词对动词,形容词对形容词,副词对副词什么意思?语文中 名词 动词 形容词 副词 这些是什么意思?详细点 !` 我这人语文基础不好 有没有包含绝大部分英语四级词汇的英文书籍?小弟即将考英语四级了,想看看包含大部分英语四级的书籍,介绍一些好吗? 木兰诗叙述的事一个怎样的故事?你能用一个四字词语概括吗?这个故事又怎样的特点木兰诗叙述的事一个怎样的故事?你能用一个四字词语概括吗?这个故事又怎样的特点?你能用一个双音 辨析词语的词性 新东方六级词汇书与六级单词一笑而过新东方的六级词汇书 与 周思成最近出的那本 六级单词一笑而过 哪本好啊? 这两本书的记忆方法有什么区别? 求买过这两本书的亲们给点建议. 木兰诗的语言特点“东市买骏马,西市买鞍鞯 ⑿,南市买辔头 ⒀,北市买长鞭.'和"爷娘闻女来,出郭(Ⅸ)相扶将(Ⅹ);阿姊闻妹来,当户理红妆(Ⅺ);小弟闻姊来,磨刀霍霍向猪羊."就说是什么特点好 辨析下面词语的词性春天( )像( )刚( )落地( )的( )娃娃( ),从( )头( )到( )脚( )都( )是( )新( )的( ),它( )生长( )着( ) 求大学四级 ,六级词汇新东方俞敏洪乱序版的mp3,最好可以有文本的 liujing16341@163.com 用一个双音节词语概括本文内容(童趣) 现代汉语语法中,动词有无感情色彩?带有感情色彩的词主要是哪些词性的词? 新东方的六级词汇书便携版和普通版词汇量一样么? “用途”一词是什么词性?如名词、动词什么的? 表示看的词语,单音节和双音节个七个. 现代汉语:从结构,词性,语法意义,语法特征等举例分析某个合成词(举例的例子要标明出处,包括作者) "到过"一词的词性是什么?是名词还是动词? 什么叫单音节词,什么叫双音节词关于形容词比较级.越多越好 词的语法类别是不是词性? interest empty 用这两个词语造句,名词和动词.两个词性各造一个 写出单音节表示颜色的词语6个,多音节、双音节表颜色的各6个 这个词是什么词性了?Astralia had been peopled for less than 10000 years.peopled 词性的英文名啥的是啥?比如 noun verb adjective Adverb 判断下列各词的词性,按名词.动词.形容词分类!急啊!1.歌颂2.颂歌3.询问4.学问5.勇敢6.勇气.7.创造8.创举9.热烈10.激烈11.障碍12.阻碍13.活力14.活泼15.灵活16.措施17.实施18.整齐19.整理20.整体 什么是单音节词,双音节词,多音节词?单音节词、双音节词和多音节词是什么?怎么区分?大家讲得简单一点我现在是初中阶段 请字是什么词性
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn