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

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

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。

量产谈判正在进行时:谷歌手表或比Google Glass先上市 Mozilla发布新版Firefox 25 提供支持Web Audio API UC产品总裁何小鹏:轻应用,做什么?怎么做? 高德携手阿里云发布“LBS云”,账户打通只是第一步 最后2天!2013移动开发者大会5折抢票倒计时 大数据如何改变在线广告业? 摩托罗拉推开源硬件平台计划Project Ara 七个垂手可得的敏捷开发工具 微信新版公众平台调整细节381处 300/次认证费引争议 libgit2:纯C语言实现的Git开发包 MongoDB的得与失 开箱即用!Android四款系统架构工具 谁说Kinect只是玩物?微软研究院使用它实现口语手语实时翻译 新浪微博推出粉丝服务平台 引发两微PK大战 MDCC2013移动开发者大会最新日程发布 门票优惠最后1天 英特尔CEO:EUV光刻技术或助力芯片突破摩尔定律 从微软大数据日看到的,银行、交通、医疗实践之路 IDC:iPad市场份额遭Android平板蚕食 滑至29.6% [TUP第30期]直击移动应用开发难点 探讨跨平台最佳解决方案 用动态语言编写程序,命名更重要 命中率80%,磁盘I/O减半,Flashcache的发展史 这次它很低调:谷歌正式发布Android4.4和Nexus 5 iPhone 5S来了,iPhone 6还会远吗?概念机来袭 [开源推荐]PhysicsJS:基于JavaScript的强大的物理引擎 望虚窥实!专访Oculus Rift创始人Palmer Luckey 利益至上,开源也不免于此 开发者必备,超实用的PHP代码片段! 福利来了!AngularJS资源大集锦 移动周报:“360儿童卫士”手环的是与非 Ion Stoica和他的数据故事(上) 开发者必备:测试网站速度的五个免费在线工具 tapi播放语音 关于变量传递问题,请高手帮忙! 有谁在OnDraw()中用过MessageBox()?为什么不是死循环?怎么解释发生的现象? 关于播放flash的问题 把0显示成0.00怎么弄? 简单问题,怎样得到ListView一单元格中的内容,如用GetItemText请问里面的参数怎样添? 全新安装的redhat 7.2为什么启动kde后不能打开Konqueroer浏览器和主目录 研究生在毕业时真的比本科生有优势吗? 请教:谁知道自动控制原理根轨迹乃试图。。,的算法? 我的AOUTOCAD总装不上??? 爱恋是什么东西?是好人就来看!!! 新闻组(NNTP)怎么用? 为何我用 Delphi写的 MDI Child Window关闭后无法打开? 为什么这样画不行呢? 语句char a='\72'则变量a包含几个字符 急,不难的问题(有代码) 问一个幼稚的问题,delphi6.0分为那几个版本,你们都用的哪一个。 呵呵,下网了,今天捞了150多的专家分,太少了~~,明天在我星期5发布的帖子里给大家分,每个人大概都有10分左右吧~~ 请问各位,现在什么版本的LIUX比较好,你们一般用那种? 快毕业了才心动!怎么办? 为什么我的可用分越来越少,参与分加得少,怎么回事啊 快毕业了才心动,怎么办? 有什么办法可以加快ACCESS的速度 快毕业了才心动~怎么办? 请问设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值是多少? 我下载了tinyDB 2.8,需要注册怎么办? 高价寻求软件开发(5000.00元报酬) 网页填写提交表单时经常出现停顿,怎么回事? 111高价寻求软件开发(5000.00元报酬) 各位大虾,深圳那儿买书可以打折? putao请进 双服务器的网络连接问题,请进来看看。 pb7的exe连接sql server2000真难呀,我都弄了两周了!!!!!!!!!!还没解决!!!!??? 怎样响应鼠标在对话框上画图啊? 怎样访问局域网内的机器? asp+sql的查询! 有关MIDAS的问题,请看http://www.csdn.net/expert/topic/374/374719.shtm 紧急!!如何使用ADO创建数据库及表(zwjmouse) 哪位大侠能提供一个c语言写的俄罗斯方块的有注释的源程序(高分) 一段可以冒充QQ上线,下线的源代码,支持最新版0710B 有关于Delphi开发局域网数据库系统的书籍或者资料吗? 请问由mscomm发出的数据是什么格式,单片机怎么识别?》》》 求教??? 请问是否有快速建立二叉树的方法 请教确认提交页面部题 Cannot open "Javac.exe"--菜鸟问题 请问怎么样实现Date的加减呢?? 怎样得到下一天的日期 前段时间出差,最近有忙着考研,没时间上网,散分 确认页面问题。 AfxMessageBox话框标题问题 a负3次方是多少 数学几分之几在word应该怎么输入? 现有50毫升0.5mol/L的硫酸铝溶液和0.5mol/L氢氧化钠溶液350毫升,问能得到沉淀的质量多少克?(需要计算过程) 如扇形的圆心角变为原来的5倍半径变为原来的3分之1这个扇形的弧长是原来的几倍或几分之几面积是原来的几倍 向15mL0.1mol/L H2SO4溶液中加入20mL0.1mol/L NaOH溶液后,混合液呈 在0.1 mol/L 100mL的硫酸铝溶液中,欲得到1.17g沉淀,求需加入0.5mol/L的氢氧化钠溶,欲得到1.17g沉淀,求需加入0.5mol/L的氢氧化钠溶一定要有过程!1 有没有七年级下册湘教版的地理期末试卷要快~~~~~~~~~~就考了~~~~~~~~答案要附在下面,不要直接填在里面 苏教版一定要苏教版 2010人教版七年级地理上册期末试卷答案 . 七年级下册英语期末试卷苏教版家是沭阳这边的2010年的 ,28号下午就考了, 用0.6mol/L的NaOH溶液A与0.1mol/L的NaOH溶液B混合配制0.2mol/L的NaOH溶液,求A与B的体积比 若100ml0.1mol/L硫酸铝溶液与氢氧化钠溶液反应,得到1.17g沉淀,则需0.5mol/LNaOH溶液的体积为(请用图像法来解释啦) 这是一道选择A,相同溶度的两溶液氢离子溶度相同.B,100mL0.1mol的两溶液能中和等物质的量的氢氧化钠.C,PH=3的两溶液稀释100倍,PH为5.D,两溶液中分别加入少量对应的钠盐,氢离子溶度明显减小 将0.2mol/LHCN溶液和0.1mol/L的NAOH溶液等体积混合后,溶液显碱性下列说法正确的是A.c(HCN)c(CN-)C.c(HCN)-c(CN-)=c(OH-) D.c(HCN)+c(CN-)=0.1mol/L答案(BD) 只想问D选项怎么来的?:混合后溶液中 1.100ml0.1mol/L的硫酸铝溶液,在其中加入一定量的氢氧化钠溶液,最终得到0.78g沉淀,求加入多少mol氢氧化钠?2.氯化镁加入过量氢氧化钠,现象为------------.氯化铝加入过量氢氧化钠,现象为----------. 一个数的三分之一次方怎么做?谢谢! 将0.2mol\LHCN溶液和0.1mol\L的NaOH溶液等体积混合能帮忙写出物料守恒吗还有为什么c(HCN)-c(CN-)=c(OH-)是错的? 往含0.1mol硫酸铝的硫酸铝溶液中滴加4mol/L的氢氧化钠溶液澄清,若要使溶液最终澄清,至少需要氢氧化钠溶液体积( )A.50mL B.150mL C.200mL D.100mL (1)850分米=( )米 2.5L=( )ml 将0.2mol/L HCN溶液和0.1mol/L的NaOH溶液等体积混合后,溶液显碱性,下列关系式中正确的是( ) A.[HCN][CN-]C.[HCN]-[CN-]=[OH-]D..[HCN]+[CN-]=0.1mol/L实质上是0.05mol/L的HCN溶液和0.05mol/L的NaCN溶液的混合溶液 填空;5.12dm3=【 】L=【 】ml 2.5L=【】mL,35600mL=【】L,2L—500mL=【】mL 一个长方形长8厘米宽4厘米如果把长和宽都增加三分之一那么新长方形的面积是原来的几分之几(要过程哦) 填空;2.75L=【 】ml 0.45L=【 】ml 84ml=【 】L 6.5L=( )ml 5100ml=( )L37ml=( )L 一个长方形的长和宽分别增加1/2后,现在长方形的面积是原来长方形的面积比是多少? 填空200ml=几L200ml=( )L 我急需要一份地理期末复习卷 并且含有答案 必须是新人教版的请在2天内回答 (鞠躬) 把一个长方形的长和宽分别增加1三分之一,现在长方形的面积是原来的多少? 2009朝阳市五年级下学期语文期末试卷答案求2009朝阳市五年级下册语文期末试卷答案 苏教版七年级上册地理期末试卷 如果把一个长方体的长和宽分别增加1/3,现在长方形的面积是原来的几分之几?你有什么发现?重点的说出发现,我知道是16/9..请各位网友尽快答复 word中怎么输入x的m次方平方m在x的右上面,然后2在m的右上面 怎么打出数学中的正负n次方,对数,希腊字母等等字符 任意画一个长方形,长和宽分别增加1/3,现在长方形的面积原来的几分之几?比原来的面积增加百分之几? 2011苏教版五年级下册语文期末试卷的作文是什么啊? 求您了 急 人教版的 2009-2010年八年级上册语文期末试卷一周内回答人教版的 苏教版五年级下册语文期末试卷作文直接给我发上作文题目和内容 计算{字母为自然数}【[-2的4次方]+[-4的2次方]×[-1的7次方】的2n次方×【5的三次方+3的五次方】 八年级上册地理期末试卷 苏教版 2009 -(x的n次方)的3次方 若于200ml0.5mol/L的硫酸铝溶液内加入2mol/L的氢氧化钠溶液,可得到7.8g氢氧化铝沉淀,氢氧化钠溶液的体积是 苏教版五年级下册语文期末试卷会考什么作文 有一串单项式x,-2x的2次方,3x的3次方,-4x的4次方...第n个用字母表示 把1mol·L-1的Alcl3溶液75ml和2mol·L-1的氢氧化钠溶液60ml混合,可得氢氧化铝沉淀多少克 我想知道KGS是什么意思?我听说KGS是复数形式,如果是这样的话,那:净重:6KGS毛重:11KG,这样不是不对称了吗?我写的数字是以公斤计算的 数学题(-1)1次方*(-1)2次方*(-1)3次方...(-1)N-1次方*(-1)N次方如题 人教版七年级下学期地理和生物期末试卷 关于KGS的问题10KG可以换算到多少KGS!好象KGS是什么KG的复数! 0.1mol/L的CH3COOH,HCl,H2SO4各100mL(1)与足量锌反应 0.1mol/L的CH3COOH,HCL,H2SO4各100ml1.与足量锌反应,起始速率大小关系为:H2SO4大于HCL大于CH3COOH 2.与同浓度的NaOH反应,消耗NaOH的体积大小为:H2SO4大于HCL 一个长方形的长增加10分之1,宽缩短10分之1,它的面积是原来面积的几分之几?3Q 450立方厘米=( )ml 9.44l=( )ml 8.5l=( )立方分米 700ml=( )l450立方厘米=( )ml 9.44l=( )ml 8.5l=( )立方分米 700ml=( )l 把100ml 0.1mol/L的HCL和200ml 0.5mol/L的H2SO4混合,求其中的H+的物质的量浓度 长方形的长增加了10分之1,宽缩短了10分之1,它的面积变成了原来的几分之几? word里面怎么输入某数的n次方那个n要怎么打出来啊?怎么打在右上角? 3的负3次方 几分之几的那个符号怎么打? 如何将WORD的里的输入好的域成上标格式?2 的二分之n次方 现在二分之n次方已经出来了 怎么变成上标?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn