【高分】iOS开发和Android开发,哪个更有前景?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-17
iOS开发和安卓开发哪个更有前景

作为一名北漂资深移动端程序员,做过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也是更好的, 就算你不作恶, 控制权在自己手中也会方便运作一点。  所经如何选择,不用我多讲,这两个都是当今移动互联网开发的方向,但是一个开源学习起来更容易,做东西更快,有绝对的控制权。一个不开源,只能做上层应用,但也可活的很好,就是这样。

首先从情感上,你喜欢哪个就好,就像百事可乐和可口可乐,当然这个比喻不是很恰当,因为可乐喝起来几乎一样,但是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天然存在升级周期延迟的问题, 而且厂商做升级是也是有成本的。卖手机的厂商无法顾及整个生态链,目前这个无解,除非Google做点什么。
  
  由于有多家厂商自己做定制,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也是更好的, 就算你不作恶, 控制权在自己手中也会方便运作一点。

LZ你好!
我是ios和android两者皆开发的程序员
其中web开发半年,android一年,ios一年
身为业内人事,我现在的前景观。
要说两者谁更有前景,恐怕哪个专家都不会切确严明
不过有这个趋势
IOS,良好的系统是它成功的保障,语言是object-c,有c++基础的易学先(其实关系不大)。苹果手机的优势显而意见,流畅性美观性,无疑成为街机。
但是,开发环境过于昂贵,条件进门过于苛刻,99美元的开发者帐号每年,mac系统的电脑。
而且,因为系统过于封闭,导致商家基本只能在手机和电脑行业进行业务的传递。而且现在苹果手机开始多样化和系统革新化导致安卓系统的致命缺点碎片化也将在苹果上体现。
总的来说ios开发前景我是不怎么看好,但是因为强大的实力和群体存在,活个10来年问题不打(谁知道是否再出乔布斯)
Android,众所周知,google的系统,基于liuix内核开发,通过虚拟机编译,这就比之ios上的效率会低了少许(不过现在硬件发达可以弥补这缺陷),既然开源那就说明着这是自由的系统,小米的火热就是因为它独特的销售和安卓系统的开源。很自然的也有很多不法商家和黑心开发者像PC端电脑一样植入病毒和恶意软件,导致系统可能不稳定,而且市面上惨次不其的手机也客观的被大众认为android系统不如ios。而且最致命的缺点是安卓系统的碎片化,不同的手机像素屏幕搞的开发者焦头烂额。
但是你会发现现在安卓系统已经不止是手机行业,它已经参杂在机顶盒,pos机,PLC,单片机等应用领域,这就说明着即使手机行业失败,在其它领域还是有饭吃。
总的来说,安卓的前景我是比较看好的。

顺便提下,同样工作经验的ios和android开发者,一般ios会工资高些。
最后说下微软的win8,这是个比较新的手机系统(不过微软早就有以前的版本了),用过手机感觉,系统暂时比ios还封闭,磁铁化的设计速度很流畅但个人还是喜欢不是磁铁的风格,还需经得起考验。

最后在提醒下,跨平台框架问题,现在的跨平台框架能够实现在手机上,但是比原来的语言流畅性实在差太多,暂时不用考虑,等框架再成熟到可以和系统语言比拟的时候考虑。不过这也是个趋势。

作为当今两大主流操作系统,Android开发和iOS开发哪个更有前景?如何选择?优赞科技从以下三个方面带您了解一下。

一、开发难度
iOS来源于Apple的OSX,是UNIX系统,OSX已经有差不多10年的历史,从内核底层到软件架构都是逐步发展过来的。iOS是用OC来开发的,要学iOS,不只是掌握了OC基础就可以了,还要会Macos/Darwin、c/c++等高级编程,从开发门槛来说,IOS比较高。
而Android是Google基于Linux搞来的,严格意义上讲Android并不是一个Linux系统,它没有Linux的xwin,没有glibc,缺乏一整套标准的Linux程序。Android系统大多数都是使用Java语言开发的,用在Dalvik虚拟机上,其中的很少部分用到NDK,从APP软件开发上讲相对来说比较容易。Google在底层也修改了很多东西。Android算是一个全新的操作系统。 Android开发相比较IOS开发而言上手容易很多,如果有很好的JAVA Lib加持,开发效率会更高 。

二、优劣势对比
iOS没有虚拟机, 也没有GC,性能要好一些,当然这个差别会随着Google的改进越来越小 。
iOS的开发框架很成熟,而且和MAC上通用,同样的知识体系,也可以开发MAC应用。而Android是全新的框架, 还会继续进化。
iOS和设备紧密集成,软硬件一家公司通吃。但是Android无法做到, 通常的情况是:Google放出源代码, 芯片厂商需要1-3个月来做自己的芯片方案, 手机厂商从芯片厂商处买到方案和代码, 进行自己的集成,定制工作,有时候还需要针对运营商进行定制。   iOS的设备集成度和驱动优化都是最好的,电源管理一块就可见一斑。而Android厂商就鱼龙混杂,可能排头的厂商的旗舰机器会好些,但是由于Android工期一般都比iOS设备短,所以整体上和iOS比是有差距的。   由于有多家厂商自己做定制,Android还存在设备的分裂问题(fragmentation),不论调试时间和人力, 光买一大堆设备的成本就不小。最关键的是它会伤美工/UE的心。

iOS是被Apple严格控制的系统。 在大部分情况下, 第三方应用是无法拿到所有API的。 这意味系统级别的很多功能只有Apple能做(比如打电话,拦截短信)。此外一些涉及用户隐私的API还会导致系统弹出对话框询问用户。Android完全不一样,首先Android是开源的,在设计上Android就允许自由替换系统组件, Android也没有强制限制API的情况。 系统级别的权限是下放到厂商手中,如果厂商愿意给,那第三方开发者就可以做任何事情。 普通应用的权限认证也是在安装的时候就一次性授权完成, 之后不会骚扰用户。所以Android平台可以做的事情远远比iOS多, 你可以做电话管理,地址簿,短信管理,可以自己跑后台service, 替换掉系统的组件非常容易 。Android平台也可以跑其他系统的Runtime, 比如Flash, 有了NDK, 你要自己接入一个虚拟机也是可能的。

三、市场分析
首先iOS系统是应用在iPhone、iPad等高端设备上的,iOS市场占有的份额虽然不高,但是用户的消费能力比较强,生态圈较好有利于开发者直接获利。Android向大众人群普及,市场份额占有率虽然很高,但是用户群体的人均消费能力普遍弱,但是依托于用户的基数使得Android有资本跟iOS抢占市场份额。
iOS上唯一的下载应用的途径就是Appstore,开发者做应用上线还要通过Apple审核,就算通过了,如果挂羊头卖狗肉乱来或者调用了不该用的API,Apple一样随时可以下架。管理非常严格。而Android就非常松懈,厂商可以内置应用,经常会扔一些莫名其妙的软件预装在手机上。 Google的官方菜市场不做应用审核,开发者上传软件很随意,这是个自由市场。

国内还存在大量第三方软件菜市场。以及豌豆荚类似的PC端管理软件。 如果用户选择允许未知来源,那么通过web下载或者安装卡上的软件也是可以的。iOS上的精品软件多,竞争激烈但管理有序,开发者也容易挣钱。 Android上虽然也有精品软件,但是垃圾软件更多, 甚至有恶意软件。 因为无门槛,基本上软件都是免费,卖不起钱, 大部分都靠广告。
要说IOS跟安卓对比哪个更有前景,个人觉得其实两个系统的开发都差不多的,各有各的前景,iOS系统他是一种高端的系统,消费人群比较局限,他抓住的是社会的中高层人群,消费能力强,从长远来看,个人觉得IOS市场份额有可能会减少,但是不会消失。而Android系统面向的人群是大众,随着安卓智能手机的普及,未来的安卓市场份额应该会进一步扩大,Android开发在未来发展的潜力巨大。
更多玩机知识,请关注我的主页

从成本来分析
学习苹果是需要学习C/C++ 然后学习Object-C
开发至少一台mac mini(一体机4K),然后至少一台iPhone测试机(4K),然后申请开发者账号(99美金),
学习Android 需要学习java 然后Android,语言上android肯定要学习起来快些,
开发成本一台3k电脑+1k手机就可以了
就业前景全球手机出货量14亿左右,苹果只有2亿左右,其他嵌入式设备如电视、车载等就不讨论了。
薪资水平,一把来说苹果的薪资水平要比android高1-2k,这个也不是绝对的,
一般二三线城市或者是初创企业都是先基于android开发,然后才会考虑ios
私活:一般能接到私活,都是先考虑anroid开发
亲,给个点赞

看你自己的定位,如果你准备长期驻扎,我建议选Android开发,免费是次要,主要是开源。面向性更广。因为Android的领域不仅仅是手机,广告,购物墙,AI,电视等等。ios面向性就比较弱,但底层优化非常好,因为不开源,所以上升空间是比较小的。市场来说相对比较少,这不是优势,但也不是劣势。两者各有千秋,个人喜欢Android开放的态度。但同时也会技术泛滥,自己也要提升相对应的能力。如果你浮在面上,所有的语言是差不多的。做Android开发的有可能那天ios端没人了,可以顶着,学个把月就通了,但学ios开发的,Android没人了顶不起来,因为Android开源,开始就是一头雾水。可能学个个把月也能入门。但却是没有ios的ipa使用起来流畅。内容很多。自己斟酌,我个人立场偏向Android,但这并不影响你的判断。这个问题没必要给那么高的分,因为没什么可以讲的,感觉如何,自己去做做就知道了。

  • ios开发和android开发哪个好
    答:两者各有优势,选择iOS开发还是Android开发,取决于你的目标市场和业务需求。如果你的目标市场主要是发达国家或地区,且追求高品质的用户体验,那么iOS开发可能更适合你。如果你的目标市场更广泛,特别是在一些新兴市场,那么Android开发可能更有优势。同时,你的技术背景、团队资源和项目需求也是决定选择的重要...
  • android和ios开发哪个好
    答:Android开发更好。理由一:市场份额 Android在全球智能手机市场中占有绝对的优势市场份额。这意味着,对于开发者而言,开发针对Android的应用意味着更广泛的用户群体。因此,从商业化和用户群体的角度来看,Android开发更具吸引力。理由二:开发环境与工具 Android的开发环境和工具不断进化,变得越来越友好和高效...
  • Iosapp与安卓app开发两者之间有什么区别
    答:iOSApp是为苹果公司的iOS操作系统开发的,而AndroidApp是为Google的Android操作系统开发的。这两个操作系统有不同的界面设计、用户体验和开发工具。2.开发语言:iOSApp主要使用Objective-C和Swift作为主要的编程语言,而AndroidApp主要使用Java和Kotlin。因此,开发者需要根据目标平台选择适当的语言。3.开发工具...
  • 安卓开发和ios开发哪个难
    答:安卓开发相对于iOS开发来说,难度稍大一些。1. 技术体系差异:安卓和iOS的系统架构、技术栈存在差异。安卓开发主要使用Java或Kotlin语言,而iOS则使用Objective-C或Swift。两种系统有不同的运行环境和API,这意味着开发者需要针对不同系统学习和掌握不同的技术和工具。2. 学习曲线:虽然Android Studio和Xcod...
  • iOS和Android学哪个
    答:答案明确:iOS和Android各有优势,可以根据个人兴趣和职业规划选择学习。解释如下:1. iOS系统的优势 iOS系统以其出色的用户体验和严格的应用审核机制著称。学习iOS开发,你可以接触到先进的开发工具和框架,如Swift和Objective-C编程语言,以及Xcode开发环境。这些工具可以帮助你构建高效、稳定的应用程序。此外...
  • android和ios哪个好学
    答:Android和iOS,两者各有优势,哪个更好学主要取决于个人兴趣和目标。两者均有一定的学习难度,但各有特点。Android开发的学习特点:1. 开发环境设置相对简单:Android Studio作为官方开发工具,设置和使用相对直观,上手难度较低。2. 技术门槛相对较低:由于Android系统的开放性,开发过程中的技术门槛相对较低...
  • ios和android哪个好学
    答:IOS和Android两者都相对好学,但学习难度取决于个人兴趣和背景知识。一、基本概述 IOS和Android作为移动操作系统的两大巨头,各自拥有庞大的开发者和用户群体。学习哪种平台,首先需要明确你的兴趣和目标。无论是IOS还是Android,都有大量的资源和文档可供学习者参考。二、IOS的学习特点 IOS开发主要使用Swift...
  • 学iOS开发和Android开发哪个更有前途?
    答:所以,在工资方面,Android开发的工资要低于iOS开发。对于基础不是很好的朋友,可以选择Android开发。ios培训机构认为,对于Android开发和iOS开发哪个更有前景这个问题要具体情况具体分析,因人而异,不能光看薪水高低和外界乱评。如果你JAVA基础比较好,建议学Android;如果你C语言比较好,建议学iOS。不管你...
  • android和ios学哪个好
    答:1、ios是封闭性系统,相对来说比android安全,android是开放系统,功能扩展强。2、从配置过程来看ios开发环境是非常完美,下载官方提供的Xcode之后直接安装即可就可以开发。android需要先下载Java环境,然后去Windows里面做好配置环境,然后下载eclipse这个环境再在里面做各种复杂的配置操作才可以配置好开发环境。...
  • ios开发和android开发哪个好
    答:1.苹果系统比较稳定流畅,硬件和软件都被工程师设计的完美无瑕,就是系统比较封闭。2.安卓系统开源,由于后台会自启很多软件,需要强大的配置才能流畅运行各款软件,不过许多用户反映安卓用久就会出现卡顿现象,可以使用安卓原生系统,运行十分流畅。