一、用户体验是王道
1.这是一个看脸的时代,不论是人还是app。
2.Android出现也已经是很长的一段时间了,各种技术相对比较成熟,开源社区里那些图片库、网络库、UI界面、数据框架一抓一大把,在同一个类别的应用中,如果没点干货真的很难脱颖而出。谁来判断干货,不是研发,不是pm,是用户。
3.我现在的Leader之前跟我说过一句话,我深以为然--做一款app,其实最核心的是怎么获取到用户,怎么愿意让用户去使用你,而不是你应用内的技术怎么怎么牛B。不喜勿喷,其实我刚开始的时候也不能理解,但是后来逐渐领悟到他说的竟然是对的。对于移动互联网来说,app的生生死死真是太常见了,各个公司每年新开的项目一大片,真正能够活下来的又有几个。所以在应用的前期还是努力迭代功能,让自己的app活下去之后,再考虑技术的问题吧
二、应用架构是否合理
1.简单就一句话,不要重复造轮子,不要重复造轮子,尤其是不要在一个应用里反复造多个轮子。现在的软件开发早就过了单枪匹马闯天下的时代了,很多个研发同时工作,难免会造成各自代码不熟悉,这时候就需要有人能够将整个应用的架构能够捋清楚,千万不要出现项目中我用我的库方法,你用你的库方法,大家一起造轮子玩这种情况。
2.能够使用开源库就从了他吧。还是那句话,别人造好的轮子,为嘛不用,非得自己造一个,真以为自己是全能吗?你不累我看着都累啊。
三、内存、网络、界面性能响应优化
其实大家都说过了软件性能的重要性,我在这里也就不再进行复述了,反正LeakCanary,TraceView等等性能工具,谁用谁知道。
四、单元测试
感觉国内好像很少有研发自己写单元测试的情况啊,其实我觉得很多时候,研发才是对功能最熟悉的人,很多边界条件只有在代码中才能够恰好遇到,所以写好单元测试做一只不麻烦QA的猿才是好猿。
五、安全
Sorry,我对应用安全不是很懂,就是简单用用Proguard混淆就Over了,加壳什么的感觉貌似没有太大必要,毕竟对于很多Android应用而言,其实看一眼大概知道他的界面逻辑了,ui层自己重写绝对比逆向快,而api接口之类的东西,或许是我不太敏感吧。