全国服务热线 029-62871062

芯学苑丨学习Android还是IOS呢?

发布:2017-01-16 15:40,更新:2010-01-01 00:00

   芯学苑丨学习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天然存在升级周期延迟的问题,而且厂商做升级是也是有成本的。卖手机的厂商无法顾及整个生态链,目前这个无解,除非google做点什么。

  由于有多家厂商自己做定制,android还存在设备的分裂问题(fragmentation),作为过来人,我告诉你这个是很头痛的事情,且不论调试时间和人力, 光买一大堆设备的成本就不小。Zui关键的是它会伤美工/ ue的心。

  ios是被apple严格控制的系统。 在大部分情况下, 第三方应用是无法拿到所有api的。这意味系统级别的很多功能只有apple能做(比如打电话,拦截短信)。此外一些涉及用户隐私的api还会导致系统弹出对话框询问用户。同样第三方runtime做应用开发也是基本不可行的(flash当初也是被这个条款拒过)。

  android完全不一样,首先android是开源的,在设计上android就允许自由替换系统组件,android也没有强制限制api的情况,(hidden api也可以call,没有人会找你麻烦)。系统级别的权限是下放到厂商手中,如果厂商愿意给,那第三方开发者就可以做任何事情。普通应用的权限认证也是在安装的时候就一次性授权完成。之后不会骚扰用户。

  所以芯学苑小编认为学习android开发时的选择,来芯学苑学习android开发是更好的选择。

联系方式

  • 地址:陕西省西安市雁塔区小寨东路196号国贸大厦小区1幢1218室
  • 邮编:710000
  • 电话:029-62871062
  • 主管:宋老师
  • QQ:3226798677
  • Email:vin6013862fu@163.com
产品分类