2016中国应用性能管理大会(简称APMCon 2016)于8月18日至19日在北京新云南皇冠假日酒店隆重召开。APMCon由听云、极客邦和InfoQ联合主办的作为国内APM领域***影响力的技术大会,***举办的APMCon以“驱动应用架构优化与创新”为主题,致力于推动APM在国内的成长与发展。天猫客户端全局体验负责人 吴发伟(则平)在大会现场接受记者采访。
移动互联网的高速发展使各大电商平台纷纷推出了自己的客户端,然而无线并不像有线那样的稳定,面对多样的问题,作为电商的天猫客户端是如何应对的呢?作者采访了天猫客户端全局体验负责人则平(吴发伟)老师,且看则平老师是如何为我们解惑的。
全局体验
其实很多人都不理解全局体验的含义,所谓的全局体验就是指用户体验。性能优化在技术体验上是非常重要的指标,对消费者来说,稳定性的重要相当于打枪游戏,如果枪不好用,就无法准确的射击目标赢得奖品。则平老师对此解释道:“移动互联网是一个体验的时代,体验时代是说用户现在想用这个客户端,可这个客户端满足不了用户的需求,消费者的想法没得到满足,也就不会再使用这个客户端了。全局体验很重要的一点,就是在稳定性和性能上要保障消费者有一个非常好的体验。”
天猫客户端对消费者满意度有着很高的追求,为此设立了衡量标准——NPS。让用户的体验感到特别好,能够推荐给周围朋友,是天猫客户端为之奋斗的目标。
对于开发者来讲光是把产品完成还不够,应用的安全也是需要考虑在内的。对于用户来讲,应用有着好的安全模式,才能让人放心大胆的去使用,尤其是关乎着个人甚至隐私信息的电商类应用,用户对其有着更高的安全要求。而天猫客户端不仅在用户信息保护上做着足够多的功夫,还在用户使用APP的体验上也下足了心思。
安全模式
天猫客户端用户众多,如何保证天猫App的稳定性是非常重要的任务,而启动阶段的保护是其中关键的一环。天猫安全模式致力于解决APP启动阶段的crash等问题,同时具备自修复能力、同步热修复能力,是一整套启动保护的解决方案。
APP crash的原因有很多,每个APP设计的方案也有不同,将其所有的异常错误都捕捉到很困难,因此天猫完全从用户的角度来思考什么是异常退出,也就是标记flag方式。在APP正常启动十秒、用户正常退出应用、用户主动从前台切换到后台的情况下,flag值不会清空。通过标记flag的方式可以判断出客户端是否异常退出,一旦异常退出,flag值便会+1。
天猫客户端的一级安全模式,当检测到消费者连续两次以及多次异常退出的时候,天猫会将用户的缓存清空。二级安全模式,会让整个客户端回到初始安装状态,天猫在这个过程中将Document、Library、Cache三个根目录清空,等同于回滚到干净状态来解决这个问题。其中包含了一项非常值得一提的技术,除了在应用启动阶段发生宕机,还经常有启动正常但是进入首页后,点击功能崩溃的情况,而天猫安全模式还具备一项功能。就是在启动阶段通过服务端下发一个规则,把业务上有问题的数据再进行清空,这样就可以保证应用的正常运作。
安全模式制定了简单的灰度策略,灰度时,配置中会同时包含灰度、正式两份配置,也会包含灰度的概率。APP根据特定算法算出自己是否满足灰度条件,如果满足,则使用灰度配置,否则使用正式配置。