千呼万唤始出来,张小龙在2016年年初提到的微信应用号终于以“小程序”的身份款款到来。媒体、KOl、产品经理乃至创业者无不对此发表意见,作为一名奋斗在一线的程序员,当我看到这个消息时,同样难以压抑住内心的兴奋。不过,我关注的不是微信小程序能够带来多大的商业想象力,而是腾讯拿出了“傻瓜式”开发方式。 为什么为小程序的开发抱以期待?先来说说APP开发过程中有哪些坑。 广为人知的就是兼容性测试。iOS的系统还好,毕竟苹果加起来也没有20款iOS设备,可怜的就是Android开发者。早在几年前有关Android的碎片化问题就引发了很大的争论,原因就是一款APP要适配不同的处理器、不同的屏幕大小,甚至不同的UI。由此造成的工作量可想而知,这也是Android上的软件体验不及iOS的原因,更可恶的是iOS开发者的薪水通常比Android还要高。 该怎么解决呢?当然不是傻傻的呼吁手机厂商不要机海战术,每年发布的新品少了,再加上旧机型的淘汰,Android的碎片化问题变得越来越乐观。事实上,很多公司的做法是,优先适配销量较高的手机,或者和某些手机品牌进行相关的合作。常见的情况是,测试人员通常要买回一大堆真机,各种牌子各种价格,可很多产品根本用不了几次。 就目前来看,不少开发者开始使用网易易测、腾讯优测、Testin等测试平台,比如网易易测提供了基础兼容性测试、深度兼容性测试、真机租用、自定义脚本测试等,能够解决元素错位、异常元素等实际问题。因为本人所做的不是测试工作,只能和大家聊聊所知道的这些。 APP异常问题让人深恶痛绝,也是我和小伙伴们每天骂上八百遍的。什么卡顿、崩溃、秒退、无限加载、图片显示失败等等问题,在你们看来这不过是一个个小BUG,可对我们来说意味着今天又要加班到深夜。 在程序猿群体中流传着这样一个段子:BUG是绝对狂热的好战分子,具有永不停歇的战斗欲望,它潜伏在程序员的周围,一双小眼贼亮贼亮,在你百密一疏时出其不意一击奏效。而无论你是钢筋铁骨,还是羊脂玉体,只要被这只“虫子”袭击,就得褪上三层皮,更有甚者,很可能锒铛入狱、命丧黄泉或者烟消玉损。甚至有人写过一篇文章叫《盘点史上最具毁灭性的的Bug》,每每读到此文,感同身受,临文涕零。 哭诉了这么多,问题还是要解决的,不然老板就要掀桌子让你卷铺盖走人。最早解决这些问题的做法是,测试人员发现问题后反馈给我们,逐行逐行的看代码,发现有问题的地方修改下,然后继续测试。乡亲们,知道为什么把程序员称作“码农”了吧。后来很多公司建立了BUG跟踪机制,比如项目中的所有成员都利用同一种方式去进行BUG提交、跟踪,避免造成BUG提交重复、回归不及时,或不能正常被回归。 不过,有研究数据显示,iOS的崩溃率超过8‰,Andriod的崩溃率超过4‰,高达63%的用户在使用移动APP时会遭遇Crash,如果Crash发生在首次启动,21%的用户会选择立即卸载,而如果Crash发生在使用过程中,70%的用户会给应用差评。再者,由于安卓机型的多样性和用户本地环境的复杂性,很难无法排查出应用程序的出错代码,加之开发和测试周期有限而不得不搁置带来的BUG累积,最终导致用户差评增多、活跃用户流失,严重影响移动APP的用户留存率、口碑、市场竞争力及 其生存周期。即便采用了更加科学的BUG跟踪机制,程序猿的压力并没有减轻太多,简直是天生的劳碌命。 一些聪明的公司开始引入网易云捕等APP质量跟踪平台,即在软件中集成网易易盾的SDK,可以实现Crash的实时监控,根据 Crash 次数进行趋势分析,提供全面完整的机器运行信息,以及显示崩溃堆栈信息,直接定位出错代码行号。给大家安利网易云捕的原因是,集成简单且免费使用,服务相对比较稳定完善。 说了这么多,微信小程序到底改变了什么呢? 由于我们的产品还没有拿到内测试资格,下面的分析仅以网上的分享为准,并加上本人的一些臆测。 微信小程序真正吸引人的地方就是8.6亿规模的用户群,这个数字超过了国内所有的第三方应用分发商店,尽管多方解读称微信并不会做应用分发,强大的用户规模依旧会让我们这些程序猿趋之若鹜。 还有就是开发者不再犹豫适配什么手机,只要通过了微信的兼容性测试就可以了,再加上小白也能轻松搞定的开发指南和简单的接口。这便一举搞定了兼容性和各种BUG带给开发者的苦恼。微信小程序似乎将程序猿们从苦海中拯救了出来(也或许是失业),但这也只是一种美好的幻想。 微信小程序在本质上仍属于H5的范畴,而且H5和APP的产品定位本身已经很清晰,微信也强调并不会取代手机APP。目前来看程序猿们并不会因为小程序的存在而获得解脱,然而,微信的思路或许值得苹果和谷歌重新思考软件开发的方式。兴奋之余,还是老老实实写代码吧。
|