Android和iOS的区别
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
首先从情感上,你喜欢哪个就好,就像百事可乐和可口可乐,当然这个比喻不是很恰当,因为可乐喝起来几乎一样,但是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,上手容易很多,如果有很好的JAVALib加持,开发效率会高些
iOS没有虚拟机,也没有GC,性能要好一些,当然这个差别会随着Google的改进越来越小
iOS的开发框架很成熟,而且和MAC上通用,同样的知识体系,也可以开发MAC应用,Android相比是全新的框架,还会继续进化。
iOS和设备紧密集成。软硬件一家公司通吃。但是Android无法做到,通常的情况是:Google放出源代码。芯片厂商需要1-3个月来做自己的芯片方案,手机厂商从芯片厂商处买到方案和代码,进行自己的集成,定制工作,有时候还需要针对运营商进行定制。所以:
iOS的设备集成度和驱动优化都是最好的。电源管理一块就可见一斑,而Android厂商就鱼龙混杂。可能排头的厂商的旗舰机器会好些,但是由于Android工期一般都比iOS设备短(请看HTC和三星出机器的速度),所以整体上和iOS比是有差距的。
Android天然存在升级周期延迟的问题,而且厂商做升级是也是有成本的。卖手机的厂商无法顾及整个生态链,目前这个无解,除非Google做点什么。
由于有多家厂商自己做定制,Android还存在设备的分裂问题(),作为过来人,我告诉你这个是很头痛的事情,且不论调试时间和人力,光买一大堆设备的成本就不小。最关键的是它会伤美工/UE的心。
iOS是被Apple严格控制的系统。在大部分情况下,第三方应用是无法拿到所有API的。这意味系统级别的很多功能只有Apple能做(比如打电话,拦截短信)。此外一些涉及用户隐私的API还会导致系统弹出对话框询问用户。同样第三方runtime做应用开发也是基本不可行的(Flash当初也是被这个条款拒过)。反过来Android完全不一样,首先Android是开源的,在设计上Android就允许自由替换系统组件,Android也没有强制限制API的情况,(hiddenAPI也可以call,没有人会找你麻烦)。系统级别的权限是下放到厂商手中,如果厂商愿意给,那第三方开发者就可以做任何事情。普通应用的权限认证也是在安装的时候就一次性授权完成。之后不会骚扰用户。所以:
Android平台可以做的事情远远比iOS多,你可以做电话管理,地址簿,短信管理,可以自己跑后台service。替换掉系统的组件非常容易
Android平台也可以跑其他系统的Runtime,比如Flash,有了NDK,你要自己接入一个虚拟机也是可能的。Google不会管你
任何人可以拿Android自己改个独立的系统出来,也许这样做的意义和前景有问题,但是同样,没有人限制你
iOS上唯一的下载应用途径就是Appstore,开发者做应用上线还要通过Apple审核,就算通过了,如果挂羊头卖狗肉乱来或者调用了不该用的API,Apple一样随时可以下架。管理非常严格。反过来Android上非常松懈。
2024-08-06 广告