开发进度
目前我所在的团队有2名Android开发,3名iOS开发,按照他们的说法,同样的项目,Android开发进度普遍落后iOS一周时间。为何?Android开发语言基于Java,由于其开源的特点,语言的封装统一性较差,很多时候会把时间花在自定义开发上,不像iOS( Objective-C)随时方便调用海量的系统原生工具。
又由于Android开源的特点,需要适配的机型与定制系统很杂,原生系统版本的升级又会影响权限的设置(比如Android 6就将GPS与文件读取视为危险权限,导致很多app闪退,我们正在开发的项目也跳进这个坑!),再看看人家iOS,数来数去就这么几个机型,一人吃饱,全家不饿。
当然,iOS的高统一性也导致了它的高门槛。App Store审核app至少需要一周时间,相比之下,Android快的只需要几小时。
如果加上开发与审核的时间,两个平台在进度方面堪堪打了个平手。
平台特性
曾经遇到过蓝牙未开启的处理,Android开发霸气地说蓝牙可以强开,而iOS需要用户前往系统设置才能开启蓝牙。
Android既可以在应用市场升级,也可以应用内升级,iOS必须调用官方接口才能升级
如果app内置应用下载功能,或者支付走的不是官方接口,是通不过app store审核的。
iOS在很多方面会做限制,显得毫无人情,当然是对开发者而言。这种限制一方面是由于统一平台所带来的必需,另一方面从用户角度考虑,也是尊重用户隐私与权利的表现。
交互体验
早期的Android很丑,交互体验也很差。Material Design设计理念的推出是一个里程碑,标志Android整个系统交互理念的成熟,就和当初iOS的扁平化设计一样。
落实到交互细节,早先两个平台在导航上就存在分歧,iOS推崇Bottom Navigation,而Android推崇Drawer Navigation。Bottom Navigation的好处是方便用户在不同一级功能点之间来回切换,但一级功能点的可扩展性较差,而且由于底部tab的存在,会在一定程度上影响首页信息流的展示,适用于有多个平级重点功能的app。Drawer Navigation的优点与缺点刚好与Bottom Navigation相反,适用于只突出一个重点功能的app,比如滴滴打车。
当然,成熟的设计理念也不是一成不变的。从去年年底开始,很多app Android版本将Drawer Navigation换成了Bottom Navigation,比如小米运动、知乎以及丁香医生。就连最新版的Material Design里,也开始推崇Bottom Navigation。据一项国外研究显示,采用Bottom Navigation的app,功能周使用频率相比Drawer Navigation
更高。私以为,未来Bottom Navigation是主流,而Drawer Navigation仅会出现于重点功能优先级远高于其他功能的app上。
另外,Android对于列表的操作,需用户长按,跳出操作选项。而iOS,需用户左滑列表。
总结
Android与iOS的3个差异,本质上都源于各自的统一性与开源性。