沧州三亚菏泽经济预测自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

以互联网思维做好客户端软件

8月24日 鬼神氏投稿
  加入爱奇艺的时间不长,但我感受到的震撼却不小。在外企打拼了十几个春秋,今年终于有机会进入一家国内顶尖的互联网企业,真真切切地有一番不太一样的体验。不过,我今天并不想说在外企工作与国内企业的差别。目前,我负责爱奇艺PPS影音PC客户端软件的研发。也许有人会有疑问:怎么还在做PC软件?大家不都一窝蜂似的转去做移动开发了吗?然而,大家要明白的是,虽然PC行业已经风光不再,但PC饱有的体量仍然是巨大的,并且PC自有其不可替代的价值;PC软件还要继续做,今天我想说一说的是,怎样以互联网思维来做好客户端软件。
  说起互联网,大家自然便会想起网站。(顺便提一下,爱奇艺就是以网站起家的;现如今,爱奇艺的服务已经覆盖包括PC、MAC、手机、平板、电视、机顶盒等各种终端。)想必大家也知道网站与客户端软件各有优劣吧,比如:网站可以运行在任何设备的浏览器上,不需要用户安装,也不麻烦用户升级,能在各个终端保持统一的用户体验;而相比之下,原生的客户端软件运行得更快,并且能够充分利用本地资源为用户带来更加强劲、炫目的功能。(推荐阅读JeffAtwood的一篇博文:App会取代网站吗?)我们的客户端软件是用C写的,性能自然不必多说。而我们公司的互联网基因,也促使我们把网站的众多优点融合进了客户端软件。
  先说说研发流程吧。互联网行业最大的特点就是变化快。我们求新,必须快速迭代,快速试错。网站采用的是这种开发模式,我们的客户端软件开发也可以。我们采用了Scrum敏捷开发流程两周一次迭代,每两周发布一个版本。我们称之为小步快跑把大功能拆小,分阶段实现,追求微创新。比较一下传统的软件开发模式:先制定一份详尽冗长的PRD,然后是动辄13个月(甚至半年)的开发周期,再加上一个较长的稳定期来修复足够多的bug,等到发布产品的时候,市场环境早就不一样了互联网环境容不得如此慢的节奏!
  上面说到了快速试错。那么,怎么试呢?又怎么知道我们是对还是错呢?这就要依赖数据啦!网站有它的先天优势,可以很方便地收集到这些数据:用户在网站上停留了多久,点了什么网页,在网页上点了什么按钮,用户使用的是什么浏览器,同时有多少人在线,访问的峰值出现在什么时间段,等等。我们在客户端里也加入了类似的投递代码。我们还有强大的数据统计和分析团队的支持,让我们对客户端软件性能以及用户行为了如指掌。我们很容易就能知道客户端软件的启动耗时、崩溃率、用户在我们客户端里看了哪些视频、播放是不是有卡顿等信息。在我们尝试做了一个新功能、但又不确定用户是否会喜欢的时候,我们也可以通过一个小渠道发布这个版本,然后在后台观察各种统计数据,以此来帮助我们决定是否应该继续开发这个功能,或者在后续迭代里需要在哪些方面做改进。
  我们每两周对外发布一个版本。我们也深知,发出去的版本就像泼出去的水,也是我们未来必须背负的包袱。时间一长,客户端版本碎片化,几千万用户手上的版本多达几十种。我们固然可以通过软件自带的升级机制把最新版本的客户端送到用户手上,但出于种种原因,新版本能够做到高于90的覆盖已经不错了,而这个数字绝对达不到100。然而,网站却能做到。网站添加了新功能之后,一旦部署,顷刻之间就能被全世界的所有用户使用上。问题是,我们怎么在客户端里获得像网页那样的灵活性呢?我们的做法是,对于性能要求不高并且可能会频繁调整的部分,用HTMLJavaScript来实现,并在客户端里用内嵌浏览器打开这些网页;而对于性能要求高的部分,坚决采用我们强大的C皮肤库来把网页本地化。一个很好的例子就是爱奇艺影视大全(http:v。iqiyi。com),在与网站保持协同的基础上,我们让它在客户端里表现出了更为卓越的性能。
  在功能实现方面,我们时刻保持着一种意识:尽量不把业务逻辑在客户端里写死。否则的话,一旦业务逻辑有变,我们必须修改客户端的代码,然后再做全网升级,一来周期比较长,二来新版本也做不到100的覆盖,结果就比较被动了。举一个VIP会员相关的例子吧。在客户端,我们有针对当前登录用户的类型来做不同会员套餐促销的需求,具体的业务逻辑是:如果当前是普通会员,则跳到白银套餐的购买页面(url1);如果当前是白银会员,则跳黄金套餐页面(url2);如果当前是黄金会员,则跳铂金套餐页面(url3)。一些经验欠缺的开发人员会把上述逻辑直接实现在客户端软件里,就像下图中左边所示的那样。遗憾的是,一旦VIP会员套餐的促销逻辑有变,比如,要改成对所有用户都推销铂金套餐,那就惨了!更灵活的实现方式应该像下图中右边那样,客户端只是调用一个相对固定的url(并带上必要的参数),而把具体的业务逻辑实现在服务器端。
投诉 评论 转载

二战苏联没有美国和英国帮忙能打赢德国吗相信很多小伙伴都知道,关于二战期间,苏联和德国之间的战争真的是伤亡惨重啊,不仅如此,也是规模最大的一场战役。但是这场战役初期的时候,苏联就被德国打的节节败退,不过后来还是扭转了……苏打粉在生活中的妙用有哪些小苏打几乎到处都买得到,它能自然分解、无毒性、不会污染环境,也不会刺激皮肤,使用的方法也非常简单,今天小编就跟大家介绍几种功能,快来试试吧!1、清除镜子水渍:将1小匙小苏……今年开车不违章明年车险就打折酒后驾驶、醉酒驾驶、无证驾驶、超速50,这些行为今后不仅将受到公安交管部门的严厉处罚,而且会直接影响到车主下一年车险续保的保费。昨日,记者从浙江保监局了解到,今年,浙江省……以互联网思维做好客户端软件加入爱奇艺的时间不长,但我感受到的震撼却不小。在外企打拼了十几个春秋,今年终于有机会进入一家国内顶尖的互联网企业,真真切切地有一番不太一样的体验。不过,我今天并不想说在外企工作……吴晓波房价背后的操盘手房价的涨跌不是道德问题,而是一场预期游戏和周期游戏。我们每一个人,其实都是房价背后的操盘手。文吴晓波(微信公众号:吴晓波频道)1:hr在全国省会级城市里,重庆经济正……如何检查空调问题现象一:冷气输出不足检查:1、进气孔是否关闭;2、冷凝器线圈与散热片是否清洁;3、系统中致冷剂是否充足;4、鼓风机电机是否工作正常;5、鼓风……这些正确下载系统镜像的技能你必须要知一直有小伙伴私信快启动u盘启动盘制作工具小编关于获取系统方面的问题,因为大家在u盘装系统时都不懂到哪里获取系统镜像文件,有时候百度上下载的系统却不是自己满意的,导致拖延装机进程……蟹爪兰的养殖方法和注意事项用泥质花盆或塑料盆,装入按1:1:1:2比例将沙、腐叶土、珍珠岩和泥炭土混合的土壤种植蟹爪兰,并控制温度为15~30,提供充足的阳光,生长期2周施肥一次,还要注意3~5天浇水一……预防和治疗芦笋褐斑病褐斑病是芦笋的主要病害。病原体主要在病株或病株上过冬,主要对茎,侧枝和叶柄造成损害;在疾病开始时病茎部分出现褐色斑点,然后逐渐扩展到卵圆形斑点,病变中心呈灰白色。边缘呈紫红色,……甜瓜叶枯病的特效药有哪些附图片甜瓜叶枯病又叫甜瓜小斑病,甜瓜叶枯病有什么危害?甜瓜叶枯病为什么发生?甜瓜叶枯病怎么防治?以下三农网就作详细介绍,供网友们参考。一、甜瓜叶枯病症状及危害叶枯病为主要……也门铁的养殖方法和注意事项也门铁在养殖的过程中,需给其准备一份具有微酸性的腐质土壤,可在腐叶土中适量添加黑泥炭、草木灰等物质,平时还要保持土壤微湿,每隔7~10天施一次叶面肥就好,将其摆放在散光处养护,……黄金玉露怎么繁殖黄金玉露可以扦插繁殖,一般在春秋季期间进行,将黄金玉露健壮的叶片剪下晾干后,扦插在疏松透气的土壤里,后期黄金玉露可出根。黄金玉露也可以分株繁殖,可在在换盆期间进行,选取母株周围……
打肉毒素多久能见效社区居委会主任述职报告农村学校教育教学工作总结家庭医生签约服务激励机制问卷调查团队后勤党总支物管中心支部工作总结精选多篇毕业学期学生工作任务书浅谈提高初中语文课堂教学有效性的途径指数基金井喷之后浅谈我国存款准备金制度的特点及发展趋势企业思想政治工作的新着力点美国财富管理机构三大特征故意杀人罪既遂与故意伤害罪致死的区别属蛇的适合养什么植物属蛇的适合养的植物有哪些爱的主题曲之阿莲六十二隐蔽战线领导人潘汉年一生功勋卓著,为何建国五年后被秘密逮捕王岳伦再被曝出轨我劝你不要娶李湘这种女人妈妈的球作文大班语言教案:小老鼠忙碌的一天2016社区母亲节活动方案精选知识善后这个词是不吉利的事吗很低造句用很低造句大全孙悟空被压在山下时给他送桃子的小孩是普通人吗Arm正式确认,华为隐患已被排除,这回谁也无法阻止叶芝抒情诗全集(叶芝诗歌精选15首)

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找