如今,随着智能手机的普及,各种安装在手机上的应用程序,让人们的日常生活与各项活动变得越来越轻松。从为自己的出行预订出租车,到在心仪的餐厅处订购餐食,移动应用已经给我们带来了前所未有的便捷与高效。我们很难想象自己是否能够坚持在一天之内,完全不去触碰手机,或开启任何一款移动应用。
移动应用的优化势在必行
由于人们时常需要用到各种移动应用,而且期望它们能够实现过去无法快速完成的功能,因此应用的整体性能是至关重要的。一直以来,各个领域的开发人员都持续着眼于,各类应用在运行性能和响应效率上的不断优化与提升。
试想一下,一个用户兴冲冲地拿起手机,进入某个订餐应用,将“炸鸡+啤酒”放入购物车后,却发现该应用需要长时间等待才能完成支付动作,甚至根本无法下单。那么,他还会下次使用这款应用吗?他还会将这款应用保留在手机里吗?可见,用户对于移动应用的使用体验,会直接与用户留存率(user retention)挂钩。
此外,除了提供基本功能,简单易用的导航栏和协调友好的界面,也能够流畅地连接用户与后端服务提供商,让用户及时获取他们所需的信息与结果。可见,移动应用同时也起到了良好的桥梁作用。
那么,有哪些因素会影响到我们对移动应用的优化呢?总的说来,有如下三个方面值得开发人员密切注意:
1.用户期望
一直以来,我们都需要认识到:开发移动应用,并不是单纯地“秀技术”,而必须充分考虑到服务的客户。不过,正所谓:知易行难,在整个开发的过程中,我们的确需要将用户,视为影响开发进程的主要因素。例如:在使用移动应用时,人们往往希望其用户界面不但容易上手,而且稳定无闪退。这就是我们做移动应用开发的“初心”。
2.适应性
移动应用的本质是方便用户能够利用碎片化的时间,随时随地与服务提供商交互,并获取相应的服务。不过,手机所处的移动蜂窝网络毕竟不如Wi-Fi或有线网络那么可靠。不同区域覆盖的范围与频段也不尽相同。因此,作为开发人员,我们必须确保自己的应用能够适应不同的网络类型与状态,特别是在失去网络连接时候,也能够缓存用户的数据,让他们能够持续使用该应用,以完成移动端本地的各项操作。
3.避免用户流失
正如前文所述,如果用户在使用您的移动应用时,不满意他们的体验,那么他们是不会成为“回头客”的。因此在开发时,与用户保持沟通,并及时通过测试和试用的方式,从用户处获取反馈,要比单纯地从论坛社区中获得“一面之词”,更为直接和全面。
那么,我们到底该如何优化移动应用的性能,以发挥移动应用的业务平台作用,并让用户只需几次触按,即可获得需要的服务?
1.专注于用户界面
用户界面的优劣,实际上与该应用在移动终端屏幕上的显示效果关系不大。它主要取决于用户在使用时的方便程度。前面我们提到了与用户沟通,获悉他们对于待开发应用的期望,特别是界面中导航栏、菜单条、以及单手操作时的按钮布局。
试想一下:当用户甚至都无法轻松地找到某个按钮或功能时,他还会为您的设计与开发“点赞”吗?可见,专注于用户界面并使其易用,是移动应用开发人员和优化人员的首要任务。
2.提高应用的可用性
正如前文所述,大多数移动应用的使用场景发生在用户行动过程中。因此,移动网络的可用性往往无法得到充分的保证。试想一下,在用户处于网络覆盖较差的区域中使用着您开发的应用,并且碰到了一定的阻碍。而此时他的手机上正好有能够实现相似功能的应用(如另一个电商平台)。那么只要那款应用的离线性能比您开发的要优秀一点。该用户肯定会毫不犹豫地切换过去,尽管对方可能在服务价位上略高一些。
因此,作为开发人员,您不但需要确保自己开发的移动应用能够流畅地运行在3G、4G、以及5G网络中,而且能够在网络不佳时,持续提供本地的缓存服务。
3.使用分析工具进行监控
保持在与用户交互时的一致性检查是非常重要的。由于用户所使用的移动设备在品牌、系统(如iOS或Android)、以及类型上的不同,您所开发出的应用可能在显示效果上有所差异,甚至会无法正常地运行或被使用。此时,您需要采用某种恰当的分析工具,通过监控和跟踪应用的各项服务和出现的功能性故障,以发掘出那些直接、或间接影响程序正常显示、运行、甚至是崩溃的深层原因。在此基础上,整个团队可以通过代码的调试,来及时修改程序,进而在应用发布之前解决掉此类兼容性问题。
4.测试与试用
对于完成了开发任务的移动应用而言,我们需要进行功能与性能方面的测试与试用,方可交付或分发给最终用户。
由于移动设备带来了更多的不定因素,因此,我们需要采用更加严格的标准,来进行测试,以便在最困难或“最差”的环境中,评估目标应用的可用性和可控性。当然,您也可以根据DevOps的思想,将此类测试“左移”到开发迭代的阶段,并持续开展蓝绿测试。
5.检查应用的运行效率
在用户的智能手机上,各种应用的不同版本往往会同时运行。因此,开发人员需要通过运行效率的检查,以保证它能够与其他各种应用工具和设备相兼容。此外,我们还需要考虑应用在长时间运行时,用到的移动设备内存是否会及时释放,以及对于手机电池的消耗等方面的问题。
总结
上述五点建议,看似稀松平常,却往往是我们作为开发人员容易忽略的用户关注点。希望您和团队成员在开发复杂的移动应用时,能够时常践行上述建议,开发和优化出独立于移动设备,且能够让用户满意的软件产品。
原标题:A Developer's Guide to Optimizing Mobile App Performance 作者: Aman T