IOS与安卓,两个不同的开发体系结构,一个封闭一个开放,是所有开发者绕不去的大山。而我们在开发过程中,也感受到了这其中的细枝末节。
一、开发环境对比
首先在开发环境的配置上,二者就表现出了极大的差异。
1,配置过程
IOS的开发环境非常完美下载完官方提供的X-CODE之后直接安装即可就可以开发了,而安卓则需要先下载JAVA环境,然后去windows里面做好配置环境,然后下载eclipse这个环境再在里面做各种复杂的配置操作,才可以配置好开发环境。当然在2013年的时候谷歌终于推出了Android Studio开发工具,可以缩减配置过程,但我们的技术跟我说,现在主流还是复杂的eclipse为主,Android Studio尚不成气候。
从配置过程来看,IOS简单,安卓极其复杂。
2,跨平台适应性
苹果的开发环境是及其霸道的,必须用mac电脑的macos系统才可以开发ios,而windows是无法做IOS开发的,除非做虚拟机,但是真正做IOS开发的时候是不可能用虚拟机搭建mac os来做开发,这样速度会及其缓慢。无法开发任何大型系统。
而安卓虽然安装起来复杂,但是具有很好的适应性,不仅能够在windows上开发,还能在mac系统上开发,完全没有任何问题。
从跨平台的适应性来说,苹果更像一个自我生长的大树,而安卓就像苔藓,可以附着在任何平台上生长。如同当年的windows可以安装到任何pc上一样。
安卓胜。
3,真机调试
安卓在真机调试上就远远优于苹果,安卓开发者只需要打开调试开关然后就可以调试手机了,但是IOS则不同,IOS需要证书、描述文件、APPLEID、开发者账号,搞半天才可以进行调试,过程实在吐血,有兴趣可以看这里。http://my.oschina.net/joanfen/blog/167730
安卓胜。
总结:在开发环境的对比上,苹果表现出了强硬的态度:“只准用我的”,而安卓则表现出了很强的适应性,顺势而为。当然,这对于开发者而言不是什么大问题,只是从一个侧面我们看到了两家公司的不同文化。苹果更自我,谷歌更拥抱开放。
二、推送机制问题
由于我们也是初次创业,APP本身结构也不是特别复杂,所以很多东西就都开始想当然,在APP的结构设计上没有考虑到推送机制,所以我们一开始都是让程序做的心跳连接,通过不断向服务器做请求,来更新数据。
我们早期没有经验所以是直接让我们的应用做心跳去请求服务器信息的,这样持续不断的发送请求,不仅耗电量大,而且对网络流量都是有很大消耗的。随后我们意识到问题,开始着手第三方的推送机制。
第三方的推送我们研究了谷歌官方的GCM、苹果的APNS、百度云推送、个推、极光推送。我们最后选择了百度云推送作为统一平台。原因在于百度的“共推”机制,只要用户安装了任何百度系应用以及使用带有百度云推送的应用,百度都会进行统一的推送服务,而不需要单独的应用程序进行心跳操作,只需要交给百度系即可。
而对于IOS的话,则后台不需要再去研究APNS就可以进行统一的推送。
总结:在推送问题上,由于IOS和安卓推送机制各自为政,所以开发者更希望有一个大一统的推送平台来管理这二者。同时加上IOS和安卓在国内推送上的水土不服,也给了第三方推送机会,而在第三方推送正好抓住了这个机会。
想认识全国各地的创业者、创业专家,快来加入“中国创业圈”
|