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

《近匠》欧朋流量宝,工具类应用开发之道

HTML文档下载 WORD文档下载 PDF文档下载
《近匠》第55期,欧朋流量宝是Opera主导研发的手机流量管理应用,它通过技术手段对流量压缩、节省和管理。欧朋流量宝团队横跨中国、美国、波兰、挪威。产品工程负责人周元林与我们分享了他团队协同方面的经验。

申请MDCC2014移动开发者大会免费展位,助力创业梦想!

本届大会以“你就是主角”为主题,为移动开发者打造一场真正的年度盛会。为让更多的移动应用团队有自己专属、固定的展示交流区域,大会主办方特别提供了MDCC应用团队免费展位。无论是成熟的创业团队,还是处于成长期的移动应用、移动游戏、智能硬件开发团队,只要有成型作品,均可免费申请。


欧朋流量宝是由Opera欧朋主导研发的手机流量管理应用,于今年3月正式推出第一个版本。在移动端,手机已成为人们上网的一个主要入口,然而,用户却始终不能轻松、简便地对上网所产生的流量进行管理。欧朋流量宝通过技术手段,实现对流量的压缩、节省和管理。

欧朋流量宝团队所在的地域,横跨中国、美国、波兰、挪威四个国家。日前,欧朋流量宝产品工程负责人周元林与我们分享了这款产品的开发过程,以及开发过程中团队协同方面的经验。

CSDN:除欧朋流量宝外,很多手机管家类App都有流量管理监控功能,欧朋在这个时候才推出流量宝这款App会不会为时已晚?

周元林:其实没有。应该说,手机管家类App的流量监控,在整个App中只是辅助功能。其实从我们的角度来看,流量监控有五大功能:第一是压缩、节省;第二是监控,要知道流量消耗在哪儿、谁消耗了流量、什么时间消耗了流量;第三是流量管理,这一点类似于联网开关控制;第四是统计,知道流量消耗在应用间的排名及汇总信息;第五是查询,知道套餐还剩下多少、用了多少。所以,一个真正完整的流量监控应用应该包含以上五个功能,从产品角度而言,能把这五大功能结合在一起的,在国内App市场上只有欧朋一家。

CSDN:要完全实现以上创想,要克服哪些技术挑战?

周元林:举个例子,流量压缩功能是我们主打的核心功能,在一个App里压缩流量,其实不是一件很简单的事情,我们也走过不少弯路,比如把所有App的流量重定向到压缩服务器,然后送到手机客户端。这个过程一开始是在Java层做的,后来发现结果是内存使用消耗非常大。于是我们推翻了这个方案,重新在Native层做了一套,现在的内存使用是非常小的,而且也能够达到我们设想的效果。另一个难点在于,流量要接管,实际上相当于把流量重新定向到压缩服务器,这其实是平台的功能。因为我们是站在App的角度来做事情的,所以我们只得使用Android的VPN。VPN的服务是建立一个数据通道,所有App的进出数据通过这个通道到压缩服务器压缩后再传送。


CSDN:这就是所谓的“云端压缩”技术吗?

周元林:没错。刚才我提到的将VPN流量导入到云压缩网络的技术,实际上是继承自欧朋浏览器。云端压缩技术是非常成熟的技术,除了Opera Mini之外,在欧朋的手机浏览器、桌面浏览器上都有使用。此外,云端压缩还涉及到另外一个技术,即Turbo技术。Turbo技术也是用在欧朋浏览器中,用来将浏览器的流量经过压缩服务器进行压缩。而流量宝则是把浏览器的压缩技术进行扩展,从应用内变成跨应用之间的压缩。这里面有两个技术难点:第一是把其他应用的流量接管到这个压缩服务器上做压缩;第二点是使用云计算网络做压缩产品,也就是将这两个点合在一起。

CSDN:除此之外,在开发过程中还有哪些困难是你们印象比较深刻的?

周元林:最开始是在原型设计过程中,接管流量时内存消耗非常多。后来我们做了优化,使用Native层,因为Native层本来代码执行速度就快,而且内存也可管理。再举个例子,之前在监控时,我们发现广东省的用户平均流量消耗比其他省的要低,发现这个问题后,我们就派工程师到现场去,发现当时是DNS解析出现了问题。但相同的环境在其他的地区可能是正常的,只有广东地区出现了这种问题,导致了压缩服务不能使用。类似于这种连通性的问题还挺多的,这也是我们一直在努力攻克的技术点。

CSDN:听说流量宝的团队的办公地点横跨四个国家,你们之间是如何协同办公的?

周元林:流量宝和Opera Max是属于一个产品线,团队成员分布在中国、挪威、波兰、美国。北京有一个十几个人的团队,包括工程、产品、UI及测试,负责中国地区的流量宝的产品,而其他团队都有不同的侧重点,比如美国的同事则侧重于视频压缩。在协调方面我们主要是通过共享,比如不同地区间共享一份压缩服务器代码基线等。另外,我们各个团队间共用一个代码仓库来协从开发,每个团队都有权限修改、提交或开发。

CSDN:最新的3.7版本增加了“异常报告”功能,目前,用户反馈频率较高的问题有哪些?这一功能对你们有哪些帮助?

周元林:在这个模块之前,我们有一个自己的反馈系统,比如在“关于”里有一个“用户反馈”按钮,在这里用户可以输入任何想了解或发现的问题。通过这些手段,我们发现有些用户抱怨内存消耗高、CPU卡顿等问题。这一功能主要是通过用户上传来收集问题,并且我们可以定位到反馈用户的地区,看看这一地区的用户反馈同一问题的有多少。因此,我们的初衷第一是定位问题,第二是分析问题的本质是什么,然后去找解决方案。最终还是想把用户体验的稳定性和兼容性进一步提高。

CSDN:不难预见,对于这类流量管理应用,节省流量是用户最为关心的,在这方面,你们做了哪些努力?

周元林:一般来说,节省流量的重要因素是HTTP页面和图片,其中,节省比例最大的是图片,如果要增强节省力度,必然以牺牲图片质量为代价。不过用户往往对这一做法持不同态度,有些人不想图片质量受损,有的用户则认为看新闻时图片质量差点也没关系。基于这种诉求,我们对产品进行了改进。比如让用户来选择图片质量,通过高、中、低三个档次选择压缩等级。


把握核心功能是工具类应用制胜的关键

CSDN:作为欧朋流量宝产品工程负责人,你在开发中一般使用那些开发工具?

周元林:由于欧朋流量宝目前聚焦于Android平台,Android平台的开发工具现在比较流行的是Eclipse+ADT,还有一个是比较新的工具是Android Studio,这些对我们来说都是IDE工具,可以加速开发。此外,从开发的角度来讲,我觉得更重要的是团队配合的过程中,需要一套Code Review系统。Opera的几个工程师就做了这样一个系统,称为Critic,这应该是我见过的最好用的Code Review工具。使用时,程序员必须在这个系统上把代码Review通过,才能进入代码仓库中的主线。只要有一个问题没有解决,就会在工程师之间进行讨论。实际上,这种协同工具能够保证代码的质量,减少不必要的Bug和测试的时间。

CSDN:在使用工具方面你有哪些心得?

周元林:在日常工作过程中,对于工程师来说最不愿意干的就是重复性劳动,一件事情今天做一遍,如果发现这样的事情明天或后天还会碰到,那就是工作方法的问题,需要看看能不能把这些事情自动化。也就是说,对于一些工具的开发是很有必要的。有时我们开发一个工具可能要花一个礼拜,但有了这个工具之后,手动一天的工作量在以后就不会有了。简单来说可以总结为,工欲善其事,必先利其器。


【《近匠》LegendTech:AR技术现已加入15元豪华午餐】《近匠》第54期:在世界杯期间,某餐饮连锁品牌推出了一款AR足球游戏。如何使用Unity+Vuforia搭建了一个增强现实的游戏开发环境?该技术团队负责人将与我们分享了AR应用开发中的宝贵经验,和对AR技术交互性的理解。

【《近匠》Fancy3D:亿级游戏背后的轻量级引擎】《近匠》第53期,随着跨平台游戏的火爆各大引擎动作频频,Unity宣布支持2D,Cocos发布3D引擎等,行业竞争已从产品竞争本身蔓延至底层技术引擎层面。随着《黑暗之光》成功,青果灵动宣布Fancy3D引擎即将展开商业化。

【《近匠》nice曹大鹏,从男装导购到潮人社区的心路历程】《近匠》第52期,与传统的图片社交软件不同,nice可以在用户上传照片之后,给照片打上标签。标签可以是品牌、地点,以及任何自定义内容。以男装导购为前身的nice,它的发展历程,有太多值得我们学习的东西。

回顾更多内容及线下开发者活动信息,请关注mobilehub公众微信号(ID: mobilehub)


寻求《近匠》免费报道,请私信:@CSDN移动,或发送邮件至mobile#csdn.net。

传微软拉拢厂商推双启动系统手机 用户可选Windows Phone或Android 为什么游戏领域总是“抄抄抄”! 物竞天择、百家争鸣——评OpenStack生态圈 CES 2014:Intel针对可穿戴技术发布多款产品 直击CES:Pebble推金属版智能手表Pebble Steel 为4K智能电视而生:高通推出骁龙802处理器 英特尔首席执行官阐述可穿戴设备新技术及Edison计算平台 设计师如何写出更棒的项目建议 微软以1亿美元收购Parature“知识库” 登陆CES:三星发布智能家庭平台Smart Home CES 2014:GPS供应商Garmin推健康腕带Vivofit 《近匠》第05期:移动开发工具访谈,个推——有节操的push 【Hadoop技术博客推荐】Hive的那些事 Twitter联合创始人推社交搜索应用Jelly 马云“食言”进军手游分成比例8:2,开发者可拿7成 CodeCombat游戏全面开源:玩游戏也能学编程 Netflix首席云架构师Adrian Cockcroft加盟Battery Ventures Android 4.3附体:RIBX发布FB/Ti 互联网手表 IE11界面布局的秘密武器:Quero Toolbar 【开源专访】Node-Webkit作者王文睿:桌面应用的全新开发方式 CentOS归属红帽:企业级Linux领域社区与商业的融合 印度初创公司Little Eye Labs证实已被Facebook收购 雅虎收购Aviate:重在提升用户体验 SDN领域硝烟再起,Oracle将Corente收入囊中 Hadoop科普文——常见的45个问题解答 CES 2014:奥迪下一代汽车将采用NVIDIA的芯片! Cocos 3.0 Beta发布:更易用、更友好 开拓新兴市场?诺基亚或推Android手机,UI界面遭泄露 预测2014大数据值得关注的8个发展方向 霸主地位再临挑战?Salesforce CEO,我们不只有Oracle LBS应用新星、“司机好助手”微车借力移动互联网,志在打造车主的个人移动门户 请问怎样用在Active DLL中调用ASP的response对象? 请介绍几本关于vb的书,不是入门的书,有没有向<delphi5开发人员指南》这样的书???? dos下编程,如何获得文件创建时间? 如何判断存储过程执行成功结束?(50分相送) 谁行行好吧,小弟谢过了!(sql的cd key) 请教现在是应该学习VB6还是VB.NET? 关于在mfc中自定义类的一个问题 请教现在是应该学习VB6还是VB.NET? 谁有在VB中开发DirectX的教程,请推荐下载地址. zrong(zr) TommyTong(童童) GreenWaterBlueSky(我的家在碧水蓝天) 进来看一看可以吗? 谁行行好吧,小弟谢过了!(sql的cd key) 这里是个关于Iczelion的win32的汇编教程中的一个问题,请各位指点! 请问如何让VB。NET编译的。EXE文件在没有装有。NET架构的系统上运行? 大白鲨:计算机软件专业到低学那些课程 窗口的最小化和最大化事件是什么? 怎样实现在主窗体显示后,出现登录窗口?? 三层结构系统的问题! 存储过程问题 如何从Select的结果中再查询数据? 求助:此书<<windows me程序设计手册>>附带光盘的源代码---作者台湾,位元文化 大白鲨:程序员的爱情问题 form1.WebBrowser1.Navigate('www.zz.ha.cn');showmessage('下载完成');总错误 提问:关于报时程序 如何用图像来显示一个灰度值矩阵? 终于下载完了77M的,高兴,爽! 树型控件中,我在itmexpanding 事件中写了代码,第一次展开树正常,但以后每展开一次,数据内容就会在原内容基础上增加,书上说必须清除 tab控件中的按钮怎样关闭对话框? 大白鲨:数据库查询进度 啥是message map 在哪儿啊?〉 请帮我解决用dreamweaver来做网页时令我头痛的一个问题?谢谢! 续:关于报时程序 如何修改DataGrid的列标头?? 我有一個推箱子游戲,是JavaScript的,可以自己增加關數,自己設計地圖,想做出n關都沒問題.想要的留下Mail! 有什么软件可以在windows98下看到有什么在内存里运行着 谢谢大家,看个网址,看看能不能访问!!!谢谢 谁知道哪有vs.C#编程百例一书中的百例download!多谢了! 如何使用ASP或VBSCRIPT或其它实现查询表单的分页打印?帮个忙! 妈的,遇到信用卡欺诈 ?请各位大侠帮忙,介绍一下关于制作报表方面的知识。 请问哪里有好的UNIX学习教程下载 请问什么函数是读取当前时间的在vc和tc3中分别是什么 高分悬赏 希望大家帮忙测试一个小软件 问一个小问题怎样用快捷键将窗口最小化? 用jdbc连接oracle找不到驱动问题。 请问:谁有中文的java1.3类库参考书??????????????? 发现MFC的一个bug大家快来看啊!!!! VB6中具体如何连接Sybase(实例)?VB6连Sybase具体需要哪些驱动及他们的的下载地址? 为什么刚启动vs.net就弹出NORTON的Alert:Malicious Script Detected对话框 DPDirectory的in charge给我的回信,希望大家看了以后会对Press Release多了解一些. 如何快速的将数组转换成用16进制的字符串? 头皮上长了颗痣代表什么含义 1900年见证了西方列强的野蛮指什么事件,对中国产生了怎样影响 如何理解“心如止水”这个词语呢?心如止水,是褒义还是贬义呢?怎麼样来理解呢?这个词语在什麽场合用比较恰当呢? 通货膨胀和货币供求的关系是什么? 1900年-1949年中国的重要历史事件. 与心如止水相近的词是什么?越多越好 如何解释通货膨胀纯粹是一个货币现象 分解因式3(x-2y)的二次方+9(2y-x)先化简在求值(3x+2)(3x-2)-5x(x-1)-(2x-1)的二次方,其中x=1/31.一种打印纸,长a厘米,宽b厘米,在打印某文档时设置的上 下边距均为2.5厘米,左右边距均为2.8厘米 数学里分钟用字母表示快,五分钟内100分 想问问物价上涨的原因,理论上就说货币供大于求造成通货膨胀,但像食品企业这些怎么知道供求关系?例如农场的场主,某些加工食品的原料来源等等,是什么因素造成上涨?理论与实际差太远了~ 求 诗经 论语 庄子 孟子 史记 汉书 和 唐诗宋词 中的成语共150个,最好有成语解释!在二月二十二日之前且有解释的,会给财富~ 汽车车轮为什么用圆形?车轴装在车轮的什么位置?为什么要装在这个位置上? 根据货币流通规律说明通货膨胀的产生? 《论语》,《孟子》,《庄子》,《楚辞》,《史记》,《汉书》的作者分别是谁? 汽车,自行车的车轮为什么做成圆(>﹏﹏ 下列属于经济法律事实中的社会事件范畴的有哪些?战争买卖文凭沙尘暴暴乱 出自《论语》《孟子》《庄子》成语和成语的意义,不要句子的解释不需要出自的句子,只要写明出自哪本书就可以了,需要的是成语和成语的意思. 我们见过的汽车、自行车的车轮为什么要做成圆形的?车轴应装在哪里?(答案少一点,但要把答案说清楚)不用回答了,我会写了!浪费了5个悬赏分!要是悬赏分能收回来就好了。 中国近代经济有那些事件?(1900-1940) 英语作文My Family(提示:短文中可以介绍家庭成员及他们的生活、工作等方面相关的信息)80词左右 心中的风雨来了,我只躲到你的怀里 的意思 指出美国二十世纪三十年代最能体现经济变化的历史事件 英语作文《My family》怎么写啊?拜托各位哥哥姐姐啦~就告诉我拉~ 心中的风雨 表达了什么样的感情? 收集国内外时事热点新闻(政治、经济方面的均可)15条,每条字数不少于30字.(2013)必须是暑假期间的哈 我是实在找不到了 - - . 快开学了 我也不想 这样 字数也别太多 差不多30 40就好 有回答者必给财富! 《母亲》一诗中,"心中的风雨"指什么"躲"表达了诗人怎样的感情 2011年全球发生了什么大事 请详细列出什么时候什么地点什么事件 最好是关于经济.灾难的问题..谢谢 如何理解爱情这个词的含义 "心中的风雨来了","我只躲在你的怀里",这句话的含义是什么? 急……!好的追加100分,因系统只能给这么多分啊,不好意思,要不我会多给的……1.一个多边形的每个内角和都等于144°,求它的边数.2.是否存在一个多边形,他的每个外角都等于相邻内角的五分之 如何理解英语新词含义 《时间煮雨》这首歌是在表达一种什么样的情感? 1、 若m,n为自然数,则多项式x的m次方减y的n次方减二的m加n次方的次数是( ).选项:1、m+n 2、m和n中较大的数.2、 多项式2x的3次方减x的平方乘y的平方加y的3次方加2的5次方是几次几项式? my family英语作文要有比较级和最高级 英语字母的数学提在英语字母里,只有什么字母有两种读音.人们把凡事都亲自去做用英语缩略表示什么.许多城市的大街上安装了一种插卡电话,这中电话使用卡叫什么卡 数学简写的代替字母h是什么意思 出自《论语》《庄子》《孟子》的成语 (按拼音顺序)? 为什么自行车的车轮是圆的而不是方的或三角形的呢? 英语作文:My family's birthday不少于50个单词,非常急!请在今天中午13:00之前. 如何理解“文化战争”这个词语? 英语翻译 英语作文My birthday of my family 战争 这个词 意思 英语翻译是新阅读书上的,要hello,how friend you are和a forever friend, 四年级下册英语作文,My family birthday.100个单词左右,明天早上要交的! 形容一个人慢慢进人另一个人的内心的词语RT 英语翻译Dick has a friend.His name is George.He works on a big ship(轮船).The ship goes from the United Kingdom to China.So George is often on the ship for many months.And he can only see the sea (大海).Today George is at home.It’s nine o My Birthday day的英语作文最好长一点的! 形容人的内心,表情,性格的词语有哪些? 电信套餐wifi国内上网时长是什么意思?哪里可以上? 谁知道这几个字是什么意思? 我想要一些词语,是形容人的内心的.说一个人内心虚伪,毒辣等等这一类的,要往内心去形容,词越深奥越好.不要成语,要两字的词。 Some people feel that the government ( ) handguns. A should control B should controlled C must controlling D can control2.Even the top students in our class can't work out this problem,so it ( ) be very difficult.A may B must C can D need3.You 求:公元1600—1900年西欧发生的重大历史事件.如题,希望时间段能够明确,意义方面强调一下,不需要太详细, 诗经,孟子,史记,庄子中的成语各二十个要有原句,释义,翻译 第39题应该选什么?并说明理由. 人身上不同的部位长“痣”的含义, 与楚人学舟意思相近的成语典故找一与“楚人学舟”意思相近的成语典故,实在不知道那就看一下是不是“胶柱鼓瑟”…… 描写心如止水的诗句
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘