Android开发 PK IOS开发

来源:互联网 发布:js获取文件大小 编辑:程序博客网 时间:2024/06/17 00:02

       近几年来移动平台发展速度非常迅速,尤其是Android和IOS,昨天google又发布了Android4.0,对于初次接触到移动平台开发的人员来说不知道到底该选哪个是好,同时windows的WP7也是一股不可忽视的力量。

      iPhone是苹果公司推出的一款手机平台,其特点是封闭平台,由苹果推出统一API,编程语言采用Object C,C语言的编程效率还是相当高。目前苹果的iPhone已经取得很大成功,其推出的软件商店模式也使得开发者大量参与进来,极大丰富了iPhone的功能,也使开发者有了致富机会。

     android是Google推出的一种手机操作系统平台,中文名为安卓,Google联合各大手机厂商成立了谷歌手机大联盟,意在使android成为未来手机的主流操作系统。android使用Linux作为底层操作系统,中间层采用Java虚拟机,由Google提供统一API,供开发者开发。中间层采用Apache许可证,使得厂商和开发人员开发出来的上层应用可以不必开源,有利于商业应用。

     下面从一下几个方面进行比较:

一、开发者收益

       Android由于提供的是开源的代码所以Android的开发者的主要收益来源是靠在应用程序上植入广告,开发者在提交自己的应用程序时不会需要缴纳很多的费用,同时由于是开源应用程序的下载来源比较多,你的程序可能被很多人下载。

      Apple用的是通过APP store统一管理,但是Apple似乎有点管的太多了,其冗长繁琐的审批流程让许多人望而生畏,同时开发者在APP store注册时需要缴纳一定的费用,并且定期要缴纳一定的费用。

     但就收益而言,ISO开发的收益要远远高于Android,曾经一位开发者开发了两个版本的软件,分别用于Android和IOS,在Android上的下载量曾一度达到了40万,并且在维护上Android花的时间也比IOS要多但是最终在Android上的收益却不到IOS的一半。

     可能有人会想在中国大部分人还是比较喜欢越狱,喜欢用免费或者盗版的软件,但是人的眼光总归要长远的好,你要开发一款好的软件面向的是全球的用户而不是仅仅针对中国的用户,并且,据调查显示有近1/3的中国用户没有选择越狱,其主要愿意为:

  1)他们有足够的能力支付付费软件

   2)越狱的繁琐过程实在让人生畏

   3)对于越狱之后的维护他们还是有所担忧

因此可见中国人的消费观念正在慢慢的转变。

 对于Android来说,由于是开源大家随意可以下载到各种软件,试想某天你在公交车上突然看到一个人套出一个声音巨大无比的山寨手机,用的是跟你一样的系统,你作何感想,并且现在已经有Android山寨机上市了。

二、开发者体验

     对于Android开发者来说,google为开发者提供了最大的自由度,开发者可以随心所欲的编写程序,并且Android开发环境搭配所需的各种SDK,JDK等软件都是免费的,开发成本低。用过Android的Eclipse插件,你会发现,你没有任何图形设计为您的活动在发展布局排序。也有几乎没有相同的广度和深度的分析工具。 最可气的是,模拟器需要配置,可能需要相当长的时间来初始化。 开发周期较长这样的结果。 即使一旦运行起来,Android的建立,部署和调试模拟器周期是行不通的速度远不及Xcode是。 但是要记住了Android优先开放。让开发者头疼的另一件事是Android的版本比较分裂,开发者需要对不同的版本做出相应的调整。

     IOS的开发成本就相对较高,当然国内也有装黑苹果操作系统的。并且iOS对内存的控制对开发人员来说简直是噩梦,非常的严格和苛刻。 自发布的Xcode,内部监督办公室的SDK是开发商不再免费。 现在,您必须是一个发展商,于注册的iOS 苹果开发人员连接 器(ADC),每年花费99美元。 或者,你可以选择安装Xcode的4只存放一个美国通过的Mac应用程序4.99美元。IOS版本统一便于开发。

三、执行效率

    因为Google当时定位就是要将Android做成一款覆盖众多机型的手机系统,所以兼容性一定要有保障,为了避免应用因为硬件问题出现兼容性问题,Google提出的解决方案是将中间层以及应用层的程序运行在Dalvik虚拟机中,但是Dalvik的效率并没有Google所想的那么乐观,为了跟的上iphone的步伐,各大厂商最直接的办法只有堆硬件。所以很多时候大家用机子的时候卡,并不是因为自己机子配置不够。

   android是在JAVA的基础上开发的,google没有经过任何处理,开发软件也是直接通过java编译的。
ios也是在java的基础上开发的,但是苹果做了一个聪明的决定,那就是把ios C化。

    Java的运行效率是公认很低的,低的不能再低,要用硬件来提高他的运行速度,而Android却恰恰选用了效率低下的Java,然后没有经过处理的JJava,然后悲剧的情况就此发生了,在m9上的大多问题都是。Java没有指针导致运行效率低下,Java的运行效率是c语言的50%。所以,运行缓慢,不流畅。

    IOS的话就是在Java的基础上引进了指针这个技术,但是苹果将指针处理了下,也就是Object-C,让他变得更加适合移动设备,更加的稳定不易出错,毕竟PC要靠交流电来支持,iphone是电池直流电,供电的话本来就是电池稳定,不要膜拜,交流电和直流电的电脉冲完全不一样的。(iphone也会白苹果)那么,IOS就c化了,其实功臣还是微软的c语言,IOS的流畅因为没有flash和c化了的java变得更加流畅。

 总之,Android和IOS区别在于一个有指针这个功能,一个基本是纯Java,运行效率低下。
所以也有了iphone上流畅运行的软件在Android上要双倍的硬件才能撑得住,就是“指针”这个家伙。

 

最后列一下各自的优缺点:

 操作系统  优点 缺点 
 Android  开源、资源多、开发成本低  开源导致版本不统一不便于开发者开发
 IOS  时尚、高端、版本统一便于开发  开发成本高、性价比相对较低
 WP7  性价比相对较高、界面时尚 目前应用相对较少 
   

就目前来看IOS以其相对成熟的市场管理以及稳定的开发处于领军地位。