这一篇文章,我整整写了两个月,期间,我仔细研究了上百款App的技术实现,管窥到很多先进的思想,如安装包的结构和大小、开机速度、HTML5页面的打开速、性能优化、数据采集工具、ABTest、热修补、模块化拆分等。希望通过本章的介绍,能在各个公司成立这样的一个部门或者团队,从产品和技术两个维度进行竞品分析的研究工作。
我们通常将同行业内竞争对手的产品定义为竞品,所以竞品分析通常就是分析竞争对手的产品。
对于App而言,这样定义竞品还远远不够。同行业内的竞品固然重要,但是对于行业外的优秀App。对我们而言,也是有很大参考意义的。比如说:
越来越多的App都意识到数据的重要性,开始采集用户行为数据,以助于更准确的作出战略上的决策,优化他们的产品和功能。由于这些都涉及公司机密,所以往往不使用第三方的服务,而都是自己采集数据自己分析。老牌移动互联网公司在这方面会比较有优势,毕竟做的久了,积累了很多的经验。
综上所述,从技术层面而言,同行业内竞争对手的App产品一定要经常研究,而对于整个App应用领域,各个行业都有其优势,我们要学习他们各自的优点,用到自己的App中,这才是竞品分析的意义所在。
因此,做竞品分析,紧盯着竞争对手固然没错,但是只盯着他们,就会把自己的逼格也降低了。一定要把眼界放大,立足于整个App行业,一步步的、不知不觉的就会超越竞争对手,自然就会让竞争对手跟着我们的节奏走了——所谓“胸有多大,舞台就有多大”,就是这个道理。
于是,我把市面上所有优秀的App都定义为我的竞品。不气吞山河,又怎能兼济天下?
对于竞品,我们要研究他们有哪些做的好的地方,从技术层面,有以下几点:
这些问题和答案在后续章节会陆续介绍。
第一次听到“竞品分析”这个词语,是从产品经理的口中。
从产品层面,“竞品分析”就是把竞争对手优秀的产品仔细研究一番,然后原封不动照搬到自家产品上。这样的抄袭多了,以致于几年前有分析师在比较了某个领域的几款App首页后,得到的结论是这些App看起来都是同一个设计师设计的,因为排版风格都是一样的。
对此我也只能呵呵付诸一笑。我观察到的情况是,这种竞品分析后抄袭得到的产品,只学习到了人家的皮毛,而没有领会到产品内在的精髓,以致于产品上线了,但效果并不如竞争对手——并没有把“为什么要这么做、这样做的好处是什么”理解透,这就是盲目抄袭的后果,短期内效果还不明显,因为移动互联网现如今是烧钱的时代,大家都是赔本赚吆喝,都追求的是用户量,但是等钱烧完了开始追求利润的时候,就会发现这种反噬。所以研究竞品,如果存粹是为了抄袭,就意义不大了。
从技术层面,竞品分析则是为了取长补短。每个App在技术上都有做的好和不好的地方。我们看到了别人家App的长处,就要思考自家App如果取长补短。
这就是鲁迅先生倡导的“拿来主义”,在拿来的同时,又不能生搬硬套,并不是所有外来的技术都适用与我们,要有选择地吸收。
Android的安装包是apk格式的文件。我们将其后缀名apk改为zip,就可以看到安装包中的内容。
如图9-1所示,所有的Android安装包解压后都具有这样的目录结构:
图9-1 Android安装包解压后的目录结构
简单介绍一下这些目录和文件的用途:
注意,res目录中的很多XML文件打开后是乱码,AndroidManifest.xml也是如此,那是因为打包的时候对XML文件进行了压缩,所以看到的往往是全角的字符和乱码,不便于查找到我们想要看的内容。有一款神器用于看到apk包中正常的内容,AXMLPrinter2.jar,它可以将apk中已经处理过的XML还原为可读格式。命令如下所示:
java -jar AXMLPrinter2.jar AndroidManifest.xml
iOS的安装包是ipa格式的文件。我们将其后缀名ipa改为zip,就可以看到安装包中的内容。
所有的iOS安装包解压后都具有如图9-2的目录结构:
图9-2 iOS安装包解压后的目录结构
其中Payload目录下是一个包,里面有这个App所需要的所有图片、音频、布局文件、配置文件和可执行文件,bundle文件、Html5相关文件。
很多png图片是打不开的,那是因为在iOS打包时,对一部分png图片进行了压缩。
好了,接下来就要开始我们的竞品分析之旅了,以下是这个系列的十个主题,我每天会更新。
当我们认为自己对这个世界已经相当重要的时候,其实这个世界才刚刚准备原谅我们的幼稚。
这句话时刻警醒着我,不要沉迷于以往取得的成绩,作为技术负责人,要与时俱进,要有敏锐的嗅觉,才能跟得上时代的潮流。要永远抱着谦卑的心态,去学习竞争对手先进的技术和理念,才能在这个行业时刻占据着主动。