Android开发和iOS开发那个更有前景如何选择
发布时间:2025-05-17 14:31:27 发布人:远客网络
一、Android开发和iOS开发那个更有前景如何选择
就索性进行了一番调研,于是有了本文(本次不讨论越狱的iOS)首先从情感上,你喜欢哪个就好,就像百事可乐和可口可乐,当然这个比喻不是很恰当,因为可乐喝起来几乎一样,但是Android和iOS还是有很大差别的。 iOS来源于Apple的OSX,是UNIX系统,OSX已经有差不多10年的历史,从内核底层到软件架构都是逐步发展过来的。iOS使用ObjectivC这个古老的语言来做开发。而Android是Google基于Linux搞来的,严格意义上讲Android并不是一个Linux系统,它没有Linux的xwin,没有glibc,缺乏一整套标准的Linux程序。Android应用绝大部分都是使用JAVA开发,跑在Dalvik虚拟机上(一小部分使用NDK)。 Google在底层也修改了很多东西。Android算是一个全新的操作系统。所以: Android使用JAVA,上手容易很多,如果有很好的JAVA Lib加持,开发效率会高些 iOS没有虚拟机,也没有GC,性能要好一些,当然这个差别会随着Google的改进越来越小 iOS的开发框架很成熟,而且和MAC上通用,同样的知识体系,也可以开发MAC应用,Android相比是全新的框架,还会继续进化。 iOS和设备紧密集成。软硬件一家公司通吃。但是Android无法做到,通常的情况是:Google放出源代码。芯片厂商需要1-3个月来做自己的芯片方案,手机厂商从芯片厂商处买到方案和代码,进行自己的集成,定制工作,有时候还需要针对运营商进行定制。所以: iOS的设备集成度和驱动优化都是最好的。电源管理一块就可见一斑,而Android厂商就鱼龙混杂。可能排头的厂商的旗舰机器会好些,但是由于Android工期一般都比iOS设备短(请看HTC和三星出机器的速度),所以整体上和iOS比是有差距的。由于有多家厂商自己做定制,Android还存在设备的分裂问题(fragmentation),作为过来人,我告诉你这个是很头痛的事情,且不论调试时间和人力,光买一大堆设备的成本就不小。最关键的是它会伤美工/UE的心。 iOS是被Apple严格控制的系统。在大部分情况下,第三方应用是无法拿到所有API的。这意味系统级别的很多功能只有Apple能做(比如打电话,拦截短信)。此外一些涉及用户隐私的API还会导致系统弹出对话框询问用户。同样第三方runtime做应用开发也是基本不可行的(Flash当初也是被这个条款拒过)。反过来Android完全不一样,首先Android是开源的,在设计上Android就允许自由替换系统组件, Android也没有强制限制API的情况,(hidden API也可以call,没有人会找你麻烦)。系统级别的权限是下放到厂商手中,如果厂商愿意给,那第三方开发者就可以做任何事情。普通应用的权限认证也是在安装的时候就一次性授权完成。之后不会骚扰用户。所以: Android平台可以做的事情远远比iOS多,你可以做电话管理,地址簿,短信管理,可以自己跑后台service。替换掉系统的组件非常容易 Android平台也可以跑其他系统的Runtime,比如Flash,有了NDK,你要自己接入一个虚拟机也是可能的。Google不会管你任何人可以拿Android自己改个独立的系统出来,也许这样做的意义和前景有问题,但是同样,没有人限制你 iOS上唯一的下载应用途径就是Appstore,开发者做应用上线还要通过Apple审核,就算通过了,如果挂羊头卖狗肉乱来或者调用了不该用的API, Apple一样随时可以下架。管理非常严格。反过来Android上非常松懈:厂商可以内置应用。经常会扔一些莫名其妙的软件预装在手机上,笔者在厂商的时候深刻体会到乱选软件是很好玩的事情。而且我们不会让你删除掉的。 Google的官方菜市场不做应用审核,开发者上传软件很随意,这是个自由市场。国内还存在大量第三方软件菜市场。以及豌豆夹类似的PC端管理软件。如果用户选择允许未知来源,那么通过web下载或者安装卡上的软件也是可以的。似乎国内用户都是允许的。所以: iOS上的精品软件多,竞争激烈但管理有序,开发者也容易挣钱。 Android上虽然也有精品软件,但是垃圾软件更多,甚至有恶意软件。因为无门槛,基本上软件都是免费,卖不起钱,大部分都靠广告。 Android还有一堆杀毒软件,这是典型的没有困难,制造困难也要上的精神。 Android上还有一堆安慰剂软件,比如能帮你省电的或者是帮你杀后台进程的来提升性能的,笔者作为做过底层开发的人,笑而不语。如果你是普通用户,请关贴,本文不是用来给普通用户选机的。如果你是一个个人软件开发者, iOS适合你,市场规范,做应用省心。如果你是一个软件和服务的创业公司, iOS也是适合你做demo的和第一个产品的,产品靠谱了,用户在用了,有人给钱了,再往Android走也是可行的。除非你做的应用要涉及硬件或者需要非常高的系统权限,如果是那样你也只有选择Android。因为国内的厂商肯定要比苹果要容易谈下来。如果你是一个要做硬件和系统定制的公司,那么基本上你只有Android可以选。Android的解决方案的成本也在不断下降。如果你是一个有中国特色的公司,想搞点移动业务玩玩,还要瞒着用户做很多事情。那么Android也是更好的,就算你不作恶,控制权在自己手中也会方便运作一点。所经如何选择,不用我多讲,这两个都是当今移动互联网开发的方向,但是一个开源学习起来更容易,做东西更快,有绝对的控制权。一个不开源,只能做上层应用,但也可活的很好,就是这样。
二、iOS 开发好还是安卓开发好
iOS和Android各有各自的优势。在系统体验方面看个人的喜好选择。iOS与Android互有优势与劣势,以下是iOS和Android简单的比较:
1、iOS是封闭性系统,相对来说比Android安全,Android是开放系统,功能扩展强。
2、从配置过程来看iOS开发环境是非常完美,下载官方提供的Xcode之后直接安装即可就可以开发。Android需要先下载Java环境,然后去Windows里面做好配置环境,然后下载Eclipse这个环境再在里面做各种复杂的配置操作才可以配置好开发环境。谷歌推出Android Studio开发工具后可以缩减配置过程,现在主流还是复杂的Eclipse为主,因此从配置来看iOS是比较简单的,而Android是极其复杂的。
3、苹果的开发环境是非常霸道,必须要用Mac电脑的OS X系统才可以开发iOS,Windows是无法做iOS开发的,除非做虚拟机,真正做iOS开发的时候是不可能用虚拟机搭建OS X来做开发的,这样速度会及其缓慢,无法开发任何大型程序。Android虽安装起来复杂,但具有很好的适应性,不仅能够在Windows上开发,也能在Mac、Linux系统上开发,没有任何问题。
4、Android在真机调试上就远远优于苹果,Android开发者只需要打开调试开关就可以调试手机,iOS不同,iOS需要证书、描述文件、Apple ID、开发者账号,搞半天才可以进行调试。
5、iOS的触摸显示做的非常的好,滑动很流畅。但性价比iOS没有Android高。
iOS和Android平分秋色,哪一个也不可能独占市场的。可能在使用体验上,大家都会认为iOS会好一些。因iOS是开放的,会给大家一定的自由空间。就业薪资待遇方面iOS也是比Android偏高些的。
三、iOS开发和Android开发哪个更有前途应该怎么选择
就索性进行了一番调研,于是有了本文(本次不讨论越狱的iOS)首先从情感上,你喜欢哪个就好,就像百事可乐和可口可乐,当然这个比喻不是很恰当,因为可乐喝起来几乎一样,但是Android和iOS还是有很大差别的。 iOS来源于Apple的OSX,是UNIX系统,OSX已经有差不多10年的历史,从内核底层到软件架构都是逐步发展过来的。iOS使用ObjectivC这个古老的语言来做开发。而Android是Google基于Linux搞来的,严格意义上讲Android并不是一个Linux系统,它没有Linux的xwin,没有glibc,缺乏一整套标准的Linux程序。Android应用绝大部分都是使用JAVA开发,跑在Dalvik虚拟机上(一小部分使用NDK)。 Google在底层也修改了很多东西。Android算是一个全新的操作系统。所以: Android使用JAVA,上手容易很多,如果有很好的JAVA Lib加持,开发效率会高些 iOS没有虚拟机,也没有GC,性能要好一些,当然这个差别会随着Google的改进越来越小 iOS的开发框架很成熟,而且和MAC上通用,同样的知识体系,也可以开发MAC应用,Android相比是全新的框架,还会继续进化。 iOS和设备紧密集成。软硬件一家公司通吃。但是Android无法做到,通常的情况是:Google放出源代码。芯片厂商需要1-3个月来做自己的芯片方案,手机厂商从芯片厂商处买到方案和代码,进行自己的集成,定制工作,有时候还需要针对运营商进行定制。所以: iOS的设备集成度和驱动优化都是最好的。电源管理一块就可见一斑,而Android厂商就鱼龙混杂。可能排头的厂商的旗舰机器会好些,但是由于Android工期一般都比iOS设备短(请看HTC和三星出机器的速度),所以整体上和iOS比是有差距的。由于有多家厂商自己做定制,Android还存在设备的分裂问题(fragmentation),作为过来人,我告诉你这个是很头痛的事情,且不论调试时间和人力,光买一大堆设备的成本就不小。最关键的是它会伤美工/UE的心。 iOS是被Apple严格控制的系统。在大部分情况下,第三方应用是无法拿到所有API的。这意味系统级别的很多功能只有Apple能做(比如打电话,拦截短信)。此外一些涉及用户隐私的API还会导致系统弹出对话框询问用户。同样第三方runtime做应用开发也是基本不可行的(Flash当初也是被这个条款拒过)。反过来Android完全不一样,首先Android是开源的,在设计上Android就允许自由替换系统组件, Android也没有强制限制API的情况,(hidden API也可以call,没有人会找你麻烦)。系统级别的权限是下放到厂商手中,如果厂商愿意给,那第三方开发者就可以做任何事情。普通应用的权限认证也是在安装的时候就一次性授权完成。之后不会骚扰用户。所以: Android平台可以做的事情远远比iOS多,你可以做电话管理,地址簿,短信管理,可以自己跑后台service。替换掉系统的组件非常容易 Android平台也可以跑其他系统的Runtime,比如Flash,有了NDK,你要自己接入一个虚拟机也是可能的。Google不会管你任何人可以拿Android自己改个独立的系统出来,也许这样做的意义和前景有问题,但是同样,没有人限制你 iOS上唯一的下载应用途径就是Appstore,开发者做应用上线还要通过Apple审核,就算通过了,如果挂羊头卖狗肉乱来或者调用了不该用的API, Apple一样随时可以下架。管理非常严格。反过来Android上非常松懈:厂商可以内置应用。经常会扔一些莫名其妙的软件预装在手机上,笔者在厂商的时候深刻体会到乱选软件是很好玩的事情。而且我们不会让你删除掉的。 Google的官方菜市场不做应用审核,开发者上传软件很随意,这是个自由市场。国内还存在大量第三方软件菜市场。以及豌豆夹类似的PC端管理软件。如果用户选择允许未知来源,那么通过web下载或者安装卡上的软件也是可以的。似乎国内用户都是允许的。所以: iOS上的精品软件多,竞争激烈但管理有序,开发者也容易挣钱。 Android上虽然也有精品软件,但是垃圾软件更多,甚至有恶意软件。因为无门槛,基本上软件都是免费,卖不起钱,大部分都靠广告。 Android还有一堆杀毒软件,这是典型的没有困难,制造困难也要上的精神。 Android上还有一堆安慰剂软件,比如能帮你省电的或者是帮你杀后台进程的来提升性能的,笔者作为做过底层开发的人,笑而不语。如果你是普通用户,请关贴,本文不是用来给普通用户选机的。如果你是一个个人软件开发者, iOS适合你,市场规范,做应用省心。如果你是一个软件和服务的创业公司, iOS也是适合你做demo的和第一个产品的,产品靠谱了,用户在用了,有人给钱了,再往Android走也是可行的。除非你做的应用要涉及硬件或者需要非常高的系统权限,如果是那样你也只有选择Android。因为国内的厂商肯定要比苹果要容易谈下来。如果你是一个要做硬件和系统定制的公司,那么基本上你只有Android可以选。Android的解决方案的成本也在不断下降。如果你是一个有中国特色的公司,想搞点移动业务玩玩,还要瞒着用户做很多事情。那么Android也是更好的,就算你不作恶,控制权在自己手中也会方便运作一点。所经如何选择,不用我多讲,这两个都是当今移动互联网开发的方向,但是一个开源学习起来更容易,做东西更快,有绝对的控制权。一个不开源,只能做上层应用,但也可活的很好,就是这样。