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

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

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。

Silver:用Swift编写iOS、Android和.NET应用 Swift没有异常处理,遇到功能性错误怎么办? 基于Python的测试驱动开发实战 不能守株待兔!移动互联网时代:产品找用户 淘汰传统屏幕,虚拟现实新纪元何时开启? 《近匠》SENSORO CTO赵东炜:解密iBeacon生态 我由Angular转向React,为什么? 产品设计中的九个注意事项 昂贵、复杂、不可靠!智能家居产品的尴尬现状 Facebook的CIO都做些什么? 穷游网CTO黄向阳:成果与价值是最好的驱动力 2015移动游戏行业方向标:创业者必须关注的几个领域 基于Python的行为驱动开发实战 面向WP和Android!微软车库发布多款免费应用 GRPC:谷歌发布的首款基于HTTP/2和protobuf的RPC框架 革命,就是现在!——CES 2015行纪 HTML5游戏引擎排行榜 Construct 2最受欢迎 2015手游营销新趋势:电视广告,及其投放逻辑 详解下一代开源混合应用框架Reapp 应用内一键交易!Google公布Android Pay项目 Timehop为什么要放弃Rails,转向Go? 无线充电技术走入客厅 宜家推出“Home Smart”系列 发布仅一年,虚幻引擎4宣布完全免费! HTML5初学者福利!11个在线学习网站推荐 Qualcomm发布Snapdragon 820与超声波指纹识别技术 App Store应用僵尸化:没品质没资本的必然走向 Unity 5正式发布:支持21种平台、个人版免费! 创新高性能移动UI框架——Canvas UI 框架 取精华、去糟粕!适合iOS开发者的15大网站推荐 Swift如何优化性能? 【程序员电子刊精选】明道CEO任向晖:企业也需要养成好习惯 如何择书与读书? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 我想转行到计算机软件,您有什么建议呢? 各位高手,看看这个贴!!谢谢 菜鸟问题:请教red hat下用.iso的安装镜像文件升级软件包的问题 这个中秋霉到家了,看看还有没有比我更霉的,同时祝愿自己能快点度过难关好起来!!!!!!!!!! 帮忙看看这个SQL语句什么地方错了? 此上机题的程序代码应该怎么写 想找个unix高手,有没有啊? 那里有java的帮助手册下载?类似于萎软的msdn & 0xFFF0是什么意思 银行存钱手续费问题 计算机网络——熊桂喜 译 INPUT如何用图片作背景? 谁能给我贴一个 Regular 动态 mfc-dll的例子! 函数怎样调用? 在线的各位高手,请问哪里可以下到SYBASE11.9.2安装程序? EJB-QL问题,怎么使用模糊查询LIKE? 请进 为什么我装了声卡驱动程序后,只能听到声音,却说不了话? rh9中用户目录下的.profile为什么不起作用? 我是专学PL/SQL编程的,但是我觉得这个不像是真正意义的编程! 大家进来看看吧! VC6下如何向Oracle中添加和读取BLOB型的数据? 一个关于Delphi6和Delphi7的问题 请问怎么知道C# MSDN 里的每一个类,每一个方法是做什么用的? 问题挺多的?请不吝赐教!都是小问题! 输入光标的移动问题 菜鸟请教:请问如何打包成jar和jad文件? 关于Oracle存储大量二进制数据的问题, 有武汉的朋友么! 加我qq 7095682 看完《美丽人生》 帮帮我 一条菜虫问一个很菜的问题? 当数据库中没有图片时候该怎么办 关于时间掩码? 问题挺多的?请不吝赐教!都是小问题! Turbo c一定要安装在win98下吗 如何修改存储器参数,我的表会越来越大,原来用默认参数 看了下面的帖子后我自己的一点感受 我怎样定位我的涉及DataReader的表格? 如何制做半透明窗体,上面的控件也要能控制是否透明。 我要转行了,也许CODEING只是爱好,要把它做为职业,惨,,, 请问大家能不能推荐一本关于PHOTOSHOP 7.0 DREAMWEAVE MX 的书籍 一个简单的图像序列化存储 EDIT1.TEXT从用户接受的内容如何放进ARR 设计数据库时这样的情况应该如何处理 CFileFind::FindFile()的查找路径是怎么确定的? 很菜的问题 关于red hat9的小问题 不知是程序写多了还是失恋的缘故!我头上有一块地方不长头发了,医生说是斑秃!不知程序员里有斑秃的吗? 一IT美女的悲惨遭遇◎! 隔一日 如三秋 打一数字 要理由 翻山越岭打一数字,1到16,说明理由 求NO和NO2分别是多少24mlNO,NO2混合气体通入倒立于水槽中充满水的量筒中,在通入12ml氧气,反应后剩余气体3ml 关于真情的故事 短一点 20字左右 如何理解曾子说的忠和信 讲求忠和信对现代人有什么特殊意义 如何理解曾子说的“忠”和“信”对现代人有什么特殊意义? 求文档:曾子讲求忠和信对现代人有什么意义? 曾子曰为人某而不忠乎,与朋友交而不信乎,传不习乎中的忠和信是什么意思?对现代人有什么特殊意义? 论语10则里的谋和忠和信和故是什么意思?火速点, 1.1.( )does Lucy get to harbin?A.When B.How often C.How2.Look,the girl( )ynder the tree.A.is standing B,standing C.stands 导体中有大量的自由电荷,只要导体构成回路导体中就有电荷通过.是否正确? 李娜连丢9局惨遭小威逆转 无缘年终总温州办公用房改革搁浅 官方表示执行起高层重音提示三中全会主题 新一轮改革孟加拉国反对党罢工引发冲突3人死亡湖南一菜农与市场保安争执后死亡 涉事阿富汗东部发生路边炸弹袭击 致18人迪拜世界最大机场正式启动客运服务阿富汗东部发生路边炸弹袭击18死5伤瑞士联邦主席表示将加强政府成员通信安海峡组合夺冠填补亚洲空白 彭帅:不会伊拉克爆炸频发死伤近两百只要走近ATM机防骗心经自动唱起法治传真曝光台浙江成全国首个“单独两孩”落地省份 女子搭黑车玩手机没看路 被拉到山坳遭方便面购买记丈夫卖房妻子拒过户买家败诉摩托相撞扯皮不断超载搭乘责任自担微人微语@人民日报一双脚走出40里平安路“点名点评”点亮心灯神魔纪异爷是机械师平行世界的幻想乡雨三旅暗夜之晓网游之逆天屠龙傲兴高潮无上天师综漫之乖离穿越之战天传说我主游戏寸氏宗祠旅游刘氏宗祠旅游李氏宗祠旅游鄱阳湖国家湿地公园旅游芦沟竹海旅游九龙公园旅游无锡梅园旅游望海长廊旅游扎西岗民俗村旅游红石林旅游大东海堡礁潜水旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘