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天然存在升级周期延迟的问题, 而且厂商做升级是也是有成本的。卖手机的厂商无法顾及整个生态链,目前这个无解,除非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也是更好的, 就算你不作恶, 控制权在自己手中也会方便运作一点。
这个不好说,不过对于app开发来说Android没有ios挣钱。
但这是一个品牌和一个先进平台的较量,现在来说是看不出输赢 的。
Android开发和iOS开发那个更有前景?如何选择?
个人觉得ios开发更有难度,薪资更高,我们公司的安卓程序猿轻松完成开发,ios就是老出问题,不是技术不过关,是确实有难度。
在这两者之间选择没有好或者更好只能看自己喜欢或者不喜欢
android开发和ios开发的区别
1、编码语言不同:Android平台开发中是使用Java语言;ios平台则是使用的Objective-C语言。2、APP开发工具不同:Android使用的是具有多功能的IDE Android Studio;ios平台则是使用的XCode,支持swift编程。3、APP应用程序的性能不同:ios操作系统可以不依赖于其他设备定期进行升级,应用程序更高一些;而Android...
android开发和java开发有什么区别
1、Android 是在java基础之上的一门语言,Android是用来开发手机APP的,学Android 需要先学java基础语法。2、简单地说,一种是作业系统,一种是开发语言。具体来说,Android是一种基于Linux的开放原始码作业系统,主要用于便携装置(智慧手机,平板电脑)。Java是一种面向物件的程式语言,它的最大的特点就...
android开发和javaEE开发的区别?
共同点:\\x0d\\x0a1、android开发和javaEE都需要依赖java语句\\x0d\\x0a2、java可以用的类库,这两者基本都可以使用\\x0d\\x0a\\x0d\\x0a差异点:\\x0d\\x0a1、android开发对于java的要求相对低些,只需要掌握java的基本技术能力就能满足大部分开发要求。javaEE开发会设计java的高级特性以及一些spring...
Android开发和JAVA开发有什么区别?
1、Android 是在java基础之上的一门语言,Android是用来开发手机APP的,学Android 需要先学java基础语法。2、简单地说,一种是操作系统,一种是开发语言。具体来说,Android是一种基于Linux的开放源码操作系统,主要用于便携设备(智能手机,平板电脑)。Java是一种面向对象的编程语言,它的最大的特点就是...
Android软件开发主要是学习什么的?
Java编程语言:**Android应用程序主要使用Java语言进行开发。学习Java是Android开发的基础,包括面向对象编程、数据结构等。Android开发环境:**了解并安装AndroidStudio,这是官方推荐的Android应用程序开发IDE(集成开发环境)。Android组件和架构:**学习Android应用程序的基本组件,例如Activity、Service、Broadcast...
Androidapp开发搭建服务器(Android服务器端搭建)
在Android应用程序中使用HTTP请求或其他通信协议与服务器进行通信。使用Android开发工具集成服务器端API,确保Android应用程序可以正确地与服务器端进行数据交互。10.监控和维护:设置监控和日志系统,以便能够追踪服务器性能和问题。定期维护服务器,确保安全性和性能。以上步骤是一个通用的概述,具体的步骤可能...
Android和JAVA区别?
1、Android和JAVA区别:Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优势之分,只是两种职业岗位选择,学安卓从事移动互联方向开发,学Java从事软件方向开发,主要看个人选择,从学Java转移到安卓,学安卓转移到Java都是可以的。昌平镇北大青鸟专家认为:从职业角度出发,想要快速从事软件...
android开发和iso开发哪个好?
android的开发好一些。Android和iOS比较:1、入门难度:Android操作系统上的各种应用开发,绝大部分都是使用JAVA来开发的,跑在Dalvik虚拟机上,一小部分使用NDK,上手相对容易。而iOS则使用Objective-C来做开发,要想深入的学iOS,不仅仅是有Objective-C开发基础,还要具备MacOS\/Darwin、C\/C++高级编程才能...
什么是嵌入式开发,什么是android开发。
UMPC等便携终端为基础,进行相应的开发工作。2、特点不同:嵌入式注重硬件和底层系统开发,而开发式app是上层应用软件程序开发。3、技术不同:嵌入式涉及到一些硬件,系统,软件,应用程序及各种智能家居,都含有嵌入式技术。而android应用软件开发的是我们看得到的手机系统视窗里显示,使用的这些手机软件。
Android开发和JAVA开发有什么区别
Android和Java的区别:简单地说,一种是操作系统,一种是开发语言。具体来说,Android是一种基于Linux的开放源码操作系统,主要用于便携设备(智能手机,平板电脑)。Java是一种面向对象的编程语言,它的最大的特点就是开源和免费,这因为如此,中国的大部分大型的软件系统是用Java开发的。Android和Java的...
实菊吉浩: ios开发与android开发是各有各的好处.学习那种看自己的基础情况和兴趣,兴趣是最大的爱好,不过两者的行业发展近年都比较火热,在未来5-10年前景仍会非常乐观. ios开发,不像android是开源的,但是因为是苹果一直在使用的,在加上只能用在苹果的系统上,所以ios的系统会比较稳定流畅. android开发,在中国的市场上就已经有很多品牌了,所以开发的话要考虑到兼容性的问题,不容易稳定. 学习的程度看来,ios是c语言做的,android是java做的,在国内,因其两者行业发展都比较火热,所以找工作都是比较容易的.ios工资会比较android偏高,不过学习好的android一样会拿到高薪.
长安区17337293691: iOS开发和安卓开发哪个更有前景 - ?
实菊吉浩: 1、安卓APP软件开发相对容易从开发语言来说,安卓APP软件开发用到的是相对简单的Java开发语言,相比苹果系统的标准开发语言Objective-C来说,Java语言开发的难度要相对小,而且,由于苹果公司对于苹果ios开发系统平台的封闭性,...
长安区17337293691: 请问iPhone开发和android开发哪个好? - ?
实菊吉浩: Android要开发一款产品,这款产品要兼容不同的硬件标准,比如屏幕分辨率,这种情况下,开发者的工作量将被无限放大. 而iPhone从iPhone到iPhone4,甚至包括ipod touch和ipad在内,一款产品都能完美兼容. Android打的是免费旗号,要...
长安区17337293691: android开发好还是ios开发好??
实菊吉浩: 在国内开发ios和andriod都不赚钱.首先国内用苹果的基本都越狱了,又不尊重开发软件商,根本没人用钱买软件,andriod收费的应用一般也会被人破解,相对于苹果封闭ios,开发开源代码 andriod 系统更简单.楼主有足够的毅力,应该赚的是广告商的钱.
长安区17337293691: iOS开发和Android开发哪个更有前途?应该怎么选择? - ?
实菊吉浩: 下面几个方面分析: 1. 就业前景:iOS工资是Android的1.5倍,但近年iOS出现饱和,工作相对难找 2. 技术方面:iOS基于unix, android基于linux, 都是基于POSIX标准的系统,很多底层功能都是类似的.但iOS封闭,限制了很多功能,android...
长安区17337293691: android和ios开发 选哪个 本人目前做web应用 想转手机了 尤其是做游戏 - ?
实菊吉浩: android吧,毕竟是开源的东西,不管是手机厂商还是平板厂商都会大力支持,而且你可以看一下现在android的市场份额.还有就是,转android也不是那么简单,不但要精通JAVA和android的东西,要想技术水平更高也要懂底层Linux和C,一套学下来……也是费时费力.不过android真的学精通了,底层和上层都明白了,你也可以想象到吧
长安区17337293691: Android开发和iOS开发那个更有前景?如何选择? - ?
实菊吉浩: 就索性进行了一番调研,于是有了本文(本次不讨论越狱的iOS) 首先从情感上,你喜欢哪个就好,就像百事可乐和可口可乐,当然这个比喻不是很恰当,因为可乐喝起来几乎一样,但是Android和iOS还是有很大差别的. iOS来源于Apple的...
长安区17337293691: android 和 ios 开发哪个好?具体说出详细理由,我目前是做web开发的,3年开发经验,想转手机开发? - ?
实菊吉浩: android 比较好一点 最起码用户多一点的 应用资源也多点 顾客比较喜欢的
长安区17337293691: iOS 开发和 Android 开发,哪个更有前景 - ?
实菊吉浩: 这个不好说,不过对于app开发来说Android没有ios挣钱. 但这是一个品牌和一个先进平台的较量,现在来说是看不出输赢 的.
长安区17337293691: ios开发和安卓开发 哪个比较好学一点 就业前景好一点?、?
实菊吉浩: 都差不多吧,IOS是基础C语言,安卓是基于JAVA做的,前景的话,目前安卓占整个市场的一半多,找工作比较容易,IOS的话工资相对高一些 ,但是相对来说没有卓开发好找工作,希望能帮到你