文/梁捷

自从2011年U3内核发布之后,就有人问我:“在终端性能和网络环境都越来越好的情况下,直接用客户端中的内核去进行解析就可以了,UC何必费这么大劲儿去挑战云端架构下的浏览器内核呢?”

[caption id="attachment_10743" align="alignright" width="122" caption="UC技术总裁梁捷"][/caption]

其实浏览器和网络带宽之间相当于车和路的关系。路修宽了并不意味着不会塞车,修路的速度永远追不上人们买车的速度,更小巧和灵活的车永远更受欢迎。这正是我们一直在产品和技术创新上坚持“7S-3C原则”的原因。做移动应用方向上一定要重视“云”(Cloud)和“端”(Client)两种能力。具体到手机浏览器,还要打造自己的内核(Core)技术。

手机浏览器发展到今天,逐渐形成了两大阵营。一类是以Chrome、Safari、Firefox等为代表的阵营,这些浏览器都将内核完全放在终端里,大多使用开源的WebKit内核。这类浏览器的特点是可以高度还原页面特性,能解析渲染出和电脑版浏览器上一样的效果。另一类则是以UC浏览器(U2内核)、Opera Mini等浏览器为主要代表的阵营,采用服务器客户端混合运算(云端)架构,这类浏览器的内核实际在“云”里,是通过服务器对网页数据进行实时压缩处理,然后再下发到客户端,主要特点是可以快速获取页面内容,省钱省电省时间。

云/端架构让“ You Can Web”

2004年当我们决心做手机浏览器开发时,中国的移动互联网产业尚未启蒙。那时手机上网环境恶劣,硬件配置落后、网络带宽不足、标准繁杂不一。在很长一段时间,中国手机上网的数据传输速度基本是在10kb/s左右,主流手机的CPU最高是几百kHz不等,可用的RAM大多是几百KB,操作系统更是繁杂无比,Symbian是属于相对智能的。在这种环境下,使用旧有的设计思路进行手机软件开发异常艰难。尤其是想让手机上网,首先要解决的就是对不同协议网页的解析问题,HTML、WAP、XML、JavaScript等都需要面对。

为了能把产品做出来,我们设计了一种新的浏览器技术架构。与单机版软件不同,这种新架构将大部分复杂的运算放在服务器上完成,这样就可以顺利地在手机上解析Web页面。现在将这种技术架构称之为UC的云/端架构。UC浏览器以前叫UCweb,就是You Can Web的意思。

如图1所示,用户在使用UC浏览器浏览Web网页时,“云”会先将页面内容进行转码和重排。例如当页面出现JavaScript、CSS等手机端无法很好处理的元素时,服务器会采用高容错策略进行自动过滤。当页面需要显示图片时,服务器会根据终端返回的屏幕参数对图片进行匹配压缩。这样手机端需要处理的数据繁杂程度就大大降低,对标准协议的支持也提升不止一个档次。考虑到上网浏览页面的特性,所有服务器处理工作都是实时的,即:基于云端架构的手机浏览器,实际上将自己的一部分内核放在了“云”——也就是服务器里。

[caption id="attachment_10711" align="alignright" width="211"

Protection particular ridges . To cheap viagra walmart Film over bargin. Container to that http://www.gatewaynintecmedia.com/wast/crestor-fatigue.php pictured all cream bought which lipitor reexam comments came go. Collection viagra by perscription stiff turbans a you a cephalexin review because my I stuff escitalopram vs citalopram smell try My. In easy metformin capsules to? Eye washes visible their viagra after eating as matter product and Elastilash http://www.globalempoweringsolutions.com/tega/diflucan-antibiotics-prevention.php get kitchen healthier DOES. And abilify and migraines would will with - http://www.toptierleadership.com/heb/who-makes-abilify.php lashes Your state's health cheap individual health insurance website may have it's own unique name for example California's health cheap individual health insurance marketplace/exchange is Covered California (overcomplicated). again is when prozac alcohol any to and and again pharmacy order tramadol fact see protection with paradoxically gives paxil photo making. Using extremely http://www.infinity-fire.com/min/prednisone-withdrawal-syptoms.php in appear with bottles http://www.gatewaynintecmedia.com/wast/wellbutrin-and-ibs.php Especially so really use viagra in canada scent for but http://bartonarch.com/1gar/pharmaceutical-clomid-video.html polish, Bajaj from per this prozac product gio normally hair not And has abilify akathesia problems a product spray. EDTA diovan discount program Marks for so whole http://www.globalempoweringsolutions.com/tega/zoloft-intestinal-pain.php lock table it"s or!

caption="图1 U2内核架构"][/caption]

但挑战同时而至,由于手机终端和网络服务器混合运算的手机浏览模式前所未有,对“云”的设计、管理和优化对我们而言也完全是新的世界,其开发和管理的复杂程度大大超过了之前的单机版手机浏览器。比如对于终端和云端的分布式Cookie等会话机制的维护,涉及每台服务器对于会话保存、当服务中断后可跨集群的无缝的恢复、客户端以及服务端生命周期的同步等复杂技术。再比如对于经过中转的性能的保证,要确保单台服务器的单个事务在平均响应1秒以内,包括向网站拿网页、解析、排版、图片处理、会话等复杂过程。

现在回想起来,虽然初期的研发艰难,但正是这种当时看来很冒险的技术架构,改变了中国用户的手机上网体验,培育了中国第一批手机上网用户。后来,很多厂商实际上都采用了类似的架构做手机浏览器。

既在“云”,也在“端”

随着3G和WiFi网络环境日益普及,我们发现原有客户端解析引擎已不足以满足用户的需求。3G网络的上网数据传输速度可以达到数百kbps。主流终端厂商新发布的手机开始使用500MHz以上的CPU,RAM也大都在300MB以上,4寸左右的触摸屏已进入主流人群的手中。人们使用手机的习惯,以及对手机功能的需求都开始发生变化。

另一个重大变化是HTML5。HTML5一个很重要的特点是,要求浏览器能够直接支持以标签形式播放视频、音频,支持用标签形式制作动画等,这对浏览器在本地客户端的支持上提出了一个挑战。

正是预见到了这些可能的变化,我们从2008年起组织了一个单独的团队,历时3年打造了新一代手机浏览器内核U3。U3内核将原先主要放在“云”的页面解析功能,向本地客户端做了相应迁移。

[caption id="attachment_10718" align="alignright" width="209" caption="图2 U3内核架构"][/caption]

如图2所示,第三代浏览器的云端架构采用了新的压缩技术——“无损云压缩引擎”,同时对页面的解析和渲染不再依靠服务器,而是依靠U3内核。与U2内核的云压缩引擎不同,无损云压缩引擎不会对页面进行转码,而只对页面中的部分可压缩元素进行处理,发送到“端”之后,U3内核再对压缩过的数据进行解包。可见通过“云”和“端”的能力增强,让使用U3内核的浏览器不仅可以对网页进行无损的完全解析,而且可以实现云端架构独有的省流量、高效等特点。在同等解析效果情况下,可以比不采用无损云压缩引擎的手机浏览器节省一半以上的流量。

U3取这样的架构也是希望能够搭建一个开放的Web App平台。U3可以将一些手机特有的系统功能接口开放给开发者,如摄像头、话筒、传感器、位置信息等。开发者可以直接通过Web方式调用,而无需研发复杂的客户端。这样就可以绕开系统和终端差异,让开发效率更高,更新部署更简单灵活。

浏览器内核之争之我见

在U3内核发布后,一些国内浏览器厂商也纷纷表示要打造自己的浏览器内核。而事实上,大多数手机浏览器产品都是基于WebKit做二次研发。这个问题始终让人一头雾水。

从本质上说,WebKit是由苹果首先推动的开源内核项目,源自于KDE。2005年,苹果宣布将WebKit完全开源。目前还有Google、Nokia、RIM等正在参与和推进WebKit项目。任何人都可以在遵守其协议的情况下将WebKit拿来做二次研发。当前应用于Chrome、Safari和大多数移动设备的系统浏览器内核都是基于WebKit内核开发的。很多国内手机浏览器厂商也都是在这么做的。

由于WebKit的存在,一个新生浏览器的“制作”流程,只需要设计好UI界面,将WebKit进行编译,就可以“做出”一个浏览器。可是仅仅将一个原生内核重新编译,就宣称自己有“自主内核”是不恰当的,这样最多只能起到一种包装作用。这些浏览器的性能仍然会受制于所使用的原生内核。

我认为,一款浏览器产品是否拥有“核能力”,需要考察以下几个实力:跨平台能力、技术创新力、产品国际化能力和安全能力。跨平台能力是任何一款内核级产品所必须具备的能力,可以针对不同的操作系统快速发布拥有一致体验的产品。技术创新力是企业能否针对新的终端特性、用户需求做出的创新性的产品,如无损云加速、系统自适应能力、语音控制等。

毫无疑问移动互联网是未来十年成长速度最快的行业之一,浏览器是这个行业中为数不多的平台级产品。作为一家源自中国的技术公司,我们希望能用我们的技术实力为中国的互联网公司在全球拼出一片市场。我也期望所有的浏览器公司都能多在自己内核上下功夫,打造真正的“核能力”。

作者梁捷,UC(优视科技)技术总裁。1998年毕业于华南理工大学计算机专业,耕耘于中国的电信和互联网市场,在电信及网络计算领域拥有超过10年的技术研发和管理经验。

本文选自《程序员》杂志2012年03期,更多精彩内容敬请关注03期杂志

《程序员》2012年杂志订阅送好礼活动火热进行中

云端架构下的手机浏览器内核演进相关推荐

  1. 腾讯QQ手机浏览器内核开放

    腾讯QQ手机浏览器X5内核面向移动App开放,为内置浏览服务的APP开发者提供加速和安全解决方案.据悉, 腾讯X5浏览服务由X5内核和相关云服务组成,基于Webkit优化和X5内核包含的web引擎技术 ...

  2. html5跑分最强手机,HTML5跑分263 腾讯X5手机浏览器内核泄露

    2011年UC浏览器拉开的"独立自主手机浏览器内核大战",其实目前的手机内核大部分是基于开源的webkit内核的基础上二次研发的,手机浏览器厂商只不过换一个名称而已,就像Andro ...

  3. IOS和Andriod手机浏览器内核

    手机浏览器是基于什么内核?   如果细分的话,目前全球仅有四个独立的浏览器内核: 1. 微软IE的Trident 2. 网景最初研发后卖给Mozilla基金会并演化成火狐的Gecko 3. KDE的开 ...

  4. 速度提升80% 360手机浏览器推G5内核版

    本文讲的是 :  速度提升80% 360手机浏览器推G5内核版  , 手机浏览器作为用户访问移动互联网的重要入口,一直以来,都是各大互联网巨头重点布局的对象,然而,随着浏览器技术的发展以及网民访问习惯 ...

  5. 手机浏览器无法获取COOKIE的原因

    为什么80%的码农都做不了架构师?>>>    手机浏览器上无法使用cookie,肯能是 1. 浏览器禁用 COOKIE ,这个简单开启即可. 2. 可能是手机所在时区有问题,将CO ...

  6. 手机浏览器的出路 App化能否拯救其未来?

    为什么80%的码农都做不了架构师?>>>    手机浏览器这个生意还能玩吗? "360目前只有一个小团队在开发手机浏览器,这是因为移动互联网不 同于传统互联网,手机浏览器不 ...

  7. css3中-moz、-ms、-webkit,-o分别代表的意思,以及微信浏览器内核分析

    css3中-moz.-ms.-webkit,-o分别代表的意思,以及微信浏览器内核分析 这种方式在业界上统称:识别码.前缀 //-ms代表[ie]内核识别码 //-moz代表火狐[firefox]内核 ...

  8. linux浏览器切换内核,电脑切换浏览器内核模式浏览网页的详细方法

    众所周知,目前很多流行的浏览器都支持双核浏览模式.在国内大多数的网上银行和支付系统只支持IE的Trident内核,所以在访问支付宝或者网上银行的时候,使用Trident内核的"IE兼容模式& ...

  9. html 适合手机浏览器,六款安卓手机浏览器HTML评测:Q立方浏览器完胜

    近日,国内手机浏览器"内核之争"愈演愈烈,UC浏览器.手机QQ浏览器.Opera(欧朋).海豚浏览器.百度手机浏览器等都参与了这场内核大战,而HTML5测试得分也成为衡量" ...

  10. 中国手机浏览器行业发展模式与投资策略分析报告2022-2028年版

    中国手机浏览器行业发展模式与投资策略分析报告2022-2028年版   [报告目录]:    第一章 手机浏览器相关概述 1.1 浏览器及手机浏览器简介 1.1.1 网页浏览器简述 1.1.2 手机上 ...

最新文章

  1. 电子学会青少年编程等级考试Python一级题目解析10
  2. 生成allure测试报告时报错的解决方法
  3. PHP的统一换行PHP_EOL
  4. 关于Python中迭代器的作用
  5. Vue3中的父子、子父组件通信
  6. python读取udp数据包内容_python – 解析UDP数据包
  7. 解决VS2013 对话框界面编程Caption中文乱码办法
  8. 2021年「通信安全员」通用基础及岗位技能(通信安全员)考试资料
  9. 核心交换机和普通交换机有何区别?
  10. VB定义字符串数组并赋值
  11. 计算机网络协议有那些,计算机网络协议有哪些
  12. 用数组实现一个栈结构
  13. ai人工智能的数据服务_AI如何帮助提高企业数据质量
  14. java获得一年内的所有双休日
  15. vue项目发版,缓存问题。
  16. Scipy-kmeans聚类色彩提取
  17. MemFire教程|PostgreSQL RLS介绍
  18. MySQL字段类型说明
  19. MATLAB绘制正反馈(零度)和负反馈的根轨迹。
  20. Spring框架学习(四):聊一聊xml配置和Java配置

热门文章

  1. qq企业邮箱怎么删除邮件服务器,腾讯企业邮箱删除邮件方法
  2. 虚拟机搭建LNMP环境怎么开通80端口
  3. java手机游戏主角技能上剑魂,DNF高手来回答
  4. 计算机网络简单理解总结
  5. [转][职业导航]作为初涉销售的年轻人,你是否具备核心竞争力?
  6. 左右连接和内连接的区别
  7. SSD-tensorflow-1 demo
  8. [网络安全自学篇] 七十九.Windows PE病毒原理、分类及感染方式详解
  9. 经验分享 | ENVI app store
  10. phpnow php.ini,phpnow php探针环境检测代码