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

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

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。

用Visual Basic创建FTP组件 用Visual Basic开发数据库浏览器 用Visual Basic轻松地设计Browser及Ftp程序 VB用Winsock控件发信Email VB用Winsock实现点对点通信 邮件检查程序(二) -VB资料 邮件检查程序(一) -VB资料 在VB程序中怎样挂断拨号网络 在VB中利用UDP协议编写聊天程序 在VB中模拟实现邮件传输 在VB中实现文件上传 在VB中使用UDP协议 在VB中用Outlook发电子邮件 在程序中打开 Internet 拨号连接窗口 -VB资料 在一个单位内部或通过广域协议(如X.25)互联的行业内部都有几十或上万台计算机互联,用Intrane 在应用中集成浏览器-VB资料 在桌面上建立一个 Internet 快捷键 -VB资料 VB怎样接收电子邮件(POP3协议简介) VB怎样用VB得知系统当前是否处于internet链结状态 VB制作自己的网络搜索软件 自动更新工作站的应用程序-VB资料 自己的IE——用VB制作浏览器 VB6制作Win98风格的工具栏 VB实现窗口的弹出式菜单 用VB做个漂亮的进度条 Cool 3D 浮動按鈕的模擬作法-VB资料 VB 5.0中实现鼠标拖放 VB5.0下工具条的制作 VB5.0中基于桌面的屏幕技巧 VB5.0中实现字体闪烁效果 VB5实现窗口图像缩放、滚动技巧 关于pos系统数据同步传输,欢迎大家进入讨论! 怎么得到本机的ip地址? 关于package 的问题 关于打开网页的问题 怎么在文本文件中的两行中添加一行?怎么删除一行? “split”分割问题 请教:怎么配置Tomcat可以禁止访问目录 ,比如访问 http://127.0.0.1/test 不会出现文件列表? 请问怎样在对话框窗口中的Edit控件里按下Enter键后不要退出 有关dremveaver ultradev 的动态网页制作问题, 请教高手。。 在delphi中如何实现全屏?? 100分。请大虾帮忙搞定 谁有存储过程的学习资料? 怎样判断计算机上有没有装madc数据库连接,? 项目中的一个问题,急待解决,请帮忙,谢谢 无聊散分 鼠标在图片上移动所发生的事件 一个怪问题:ping得通却NetTerm不上? JBuilder中如何拖动控件到面板,位置放置的问题。(高手指教) 请问在那里有csdn helper 下载 是否可以给表的字段编号? 我想让程序启动该怎么做 这样一个项目计划怎么写? vb.net 附值问题,请教高人 一次檢索出DataSet數據存至Session還是每次DataGrid翻頁時檢索為好? 一个程序不停的写一个文件,越来越大。怎样把以前的数据拷出来然后把他们从文件里删去? 会自动关机的电脑 怎样在listCTRL中加入彩色字?Waiting Online 请问到哪里去找w2k下编译需要的头文件和库文件呀 请问各位哪里有UNIX平台或LINUX平台的POWERBUILDER下载? 吐血给分!小问题,简单的很! 请教有关ServerSocket的问题 请问到哪里去找w2k下编译需要的头文件和库文件呀 想玩网络游戏,各位给推荐一下,谢了先!!! 请各位在这里留下已知的并已解决的BCB的BUG问题,也好让大家少走弯路了,谢谢! CMOS的问题,我是XP系统! 看看流星花园的搞笑版吧(转载) Word 和 Excel 启动不了 问几个菜鸟问题关于数组的。请大家帮忙! 关于用asp.net代码实现文件上传的问题!急! 新手提问:如何在vb中设计一个扁平的按钮。----在线等待~!~!! 这个查询可以在一条语句中完成吗?高分! 保存问题 关于浮点数累积误差的问题:水平直线旋转180度后两端点相差了1个像素。如何解决~高分谢高手。(内有代码) 一个在vb中使用数据库的问题,急! 请教VB怎样操作磁带机? SQL7.0表中记录打不开,提示如下: 怎么才能给Listview中的每一行都加一个图标,怎样引用Listview中每一行??? 关于文件的查找!! 急救!!关于数据导入问题!在线等待 weblogic如何保留jsp编译的中间源文件? 关于文件的查找!! 急求清史稿八十九列传刘统勋那段的翻译! 班级挑战书我们是一六班,要跟五班较量,哪位高人帮我想一想怎样写,最好写出来!还有替一五班再写一份,最好不要写重了!是成绩上的较量! 填动物的名称 哪位兄弟给个[清史稿 刘统勋传]的翻译 班级之间的挑战书怎么写我们九7班,他们九八班,应学校要求每个班都要找对手班级,不要太嚣张的,激情一点,然后,额,(里面有关于在学风,班风,纪律等等一系列的方面进行竞争的话——班头语 你知道《塞翁失马》这则寓言的寓意吗? 刘统勋在哪个电视剧中出现过 班级各小组的挑战书怎么写?急.哎.今天必须要完成那. 这则寓言告诉我们了什么道理.要简短,容易弄懂 仿句:我喜爱蓝色,蓝色是天空,我愿我的胸怀向天空一样宽广要自己写的、 急 如何写班级挑战书? 七年级《语文》160页的(塞翁失马)寓言的寓意 抬头仰望天空,它是那样的蓝,那样的惹我喜欢.在白云点缀的蓝天里让我不时的幻想,幻想那些可能和不可能发生的事. 班级挑战书怎么写学习上的啊.呵呵 类似《塞翁失马》的寓言故事有那些? 湖心亭看雪词语手册字词拜托 Brain Teasers:When do people have two mouths? 第36课 ________,因为他有尊严.补充完整 快不要书上的 湖心亭看雪的注释 填动物名称组词成语:()头()尾 ()首是檐 杀()骇() ()假()威 塞翁失马的寓意要简短 《湖心亭看雪》第一段翻译,赏析,重点字词及一切上课时需要的. when do pople have two mouths? 塞翁失马是什么寓意? 六年级400字中秋日记 请将下面问题各各填一种动物天空之王——大地之王——群山之王——大海之王——凤之王——雷之王——水之王——火之王——(不要重复,小说设定,以符合要求最多者给分,一个5财富)兄 塞翁失马的寓意是什么 湖心亭看雪的课下注释 湖心亭看雪翻译 注释 七年级下语文作业本答案全部,最好不要和答案一样...浙教版 不想回答的别过来损人 求一篇中秋节的日记,是要六年级水平的作文,500字以上, 甲乙两人分别在相距50km的两地同向而行,乙在甲的前面,甲每小时走16千米,乙每小时行18千米,如果乙先走一小时.问甲走出多少分钟后两人相距70千米? 七年级上册语文作业本答案求求各位大侠啦 找一篇关于【勇敢】这个话题的作文!600字以上.. ( )口余生 在中间填上什么动物名称! 一物体做匀加速直线运动,初速度为0.5m/s,加速度为0.1m/s,则该物体在4s内的位移和平均速度分别是多少? 宇宙是扩张的还是收缩? 填什么动物名称啊? 一物体做匀速直线运动,初速度为0.5m/s,加速度为0.1m/s^2,则该物体在第4秒内的位移和平均速度各是多少答案上是0.85m的0.85m/s^2 我要《湖心亭看雪》这一文的解释! 《湖心亭看雪》中的 强饮三大白 强字究竟是 痛饮 还是勉强我们老师说的是勉强,可百度百科以及其他大部分都说痛饮,惟少数说是勉强,而且解释的还不一样, 四字寓言故事有哪些? 我喜欢蓝色的天空,我喜欢打篮球,我喜欢交朋友.我喜欢看书. 湖心亭看雪 全文赏析 600字 读后感;钢铁是怎样炼成的,600字,快,十分钟之内,像六年级孩子写的 六年级中秋节日记,500字以上,带好词好句最好不要写错 速度越快越好 当然一定要500字以上 标点符号不算 《湖心亭看雪》中的“独”字如何解释为好?是独自还是孤独? 《塞翁失马》的意思 《海燕》中 海燕的形象表现 形象特点 象征意义《海燕》中 海燕的形象表现 形象特点 象征意义 要 表现→形象→象征 的答题形式 一共要5个 急 《塞翁失马》中“其父”的意思 塞翁失马的意思是什么 《湖心亭看雪》中的“强饮”应如何解释? 英语翻译我要准确的 一字一字的对译 呵呵我要的是塞翁失马这篇课文的翻译 不是塞翁失马这个成语的翻译 七年级上册语文作业本答案,急!答案别老师收走了 求 我的大学生活英文作文 水平不用太高 带汉语翻译的谢谢 塞翁失马的意义结合自己的生活体验,“举例”!谈谈你对塞翁失马寓意的理解 物体以5m/s的初速度做匀变速直线运动 第3s内的位移是2.5m 物体的加速度是 求解释和过程 信改变了我的生活 那篇作文的中文翻译、不要英语原文、谢谢 《塞翁失马》寓意 塞翁失马的含义快
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘