Android和iOS作为当下两大主流移动操作系统,经历了多年的相爱相杀,它们在竞争中不断创新、不断超越,而随着市场的发展,它们也面临着更大的挑战。
Android和iOS面世至今已经有十余年,作为先下唯二两大主流移动操作系统,二者十多年来相爱相杀,跨越了功能机时代到智能手机时代。
它们的诞生是科技进步的必然结晶,也为全世界的人们带来了颠覆性的改变。世界的变革之快,两大移动操作系统却始终走在创新前列,作为承载几十亿人信息交流的媒介。也许下一个十年,它们依然能活跃在人们视线的主舞台。
一、发展历程
年8月由谷歌以万美元收购注资操作系统公司Android。此时Android仅仅成立22个月。
年1月乔布斯在MacWorld大会上发布了第一款苹果手机,并为操作系统取名为iPhoneRunsOSX。
第一代的苹果手机不能更换壁纸和铃声,也没有第三方应用,不过就当时来看多点触控的大屏幕、触屏的交互操作、便携拍照特别是去除了传统的拨号键盘只保留了一颗HOME键的革新,依然给人们带来了巨大的震撼。
同年11月,谷歌正式向外界推出Android系统,并宣布成立全球性的联盟组织,联合手机制造商、芯片制造商、软件开发商电信运营商共同维护Android的开源代码。
在诺基亚当道,功能机盛行的时代,大多数人对Android系统的推出持悲观态度。相反,Symbian系统在市场中表现良好并占据了绝对优势,在统治了手机界半壁江山的诺基亚看来,当时谷歌和苹果推出的移动操作系统还不足以威胁到Symbian的地位。
年苹果推出了iOS开发包并在7月开放了AppStore,标志了移动应用时代的开启,其优良的生态环境和独具一格的分成体系吸引了大量开发者入驻。彼时,谷歌推出了第一款搭载Android系统的智能手机HTCG1和Android1.0,一上市后就受到了消费者的喜爱,获得了热烈的市场反响。
年在这个智能移动系统百家争鸣的年代,Android和iOS齐头并进,展现出了极大生命力,开始威胁到Symbian系统的统治地位。
年是iOS和Android跃进的一年,iPhoneOS3.0增加了文本复制、粘贴、推送通知和视频录制等等在现在看来是极为基础的功能,极大增强了iOS的实用性。谷歌也在尝到G1的甜头后,对Android做出了小幅度升级,并趁势推出了搭载Android1.5的G2和Android1.6的G3,从Android1.5(Cupcake纸杯蛋糕)及以后,谷歌都会为每一个Android大版本用甜点命名。
年,iPhoneOS正式改名为iOS,同年发布了乔布斯经典之作ipone4。iOS4新增了多任务和FaceTime两个主要功能。而竞争对手Android系统也迎来了10万个应用数量的里程碑,并在12月升级到了Android2.3版本。后知后觉的Symbian系统的市场份额快速萎缩,这一年才刚刚开始面向第三方和开发者提供开源服务。但随后索尼爱立信高层抛弃研发塞班系统新手机的开发计划,12月塞班基金会网站关闭停止向外界开放源码下载。
第二年,各大厂商除了诺基亚都纷纷放弃了Symbian系统。难以置信曾经的移动操作系统霸主Symbian竟溃败得如此之快,一夜之间Symbian平台便分崩离析。Android接过Symbian市场老大的位置,从此之后Symbian系统一蹶不振,直到年被诺基亚放弃彻底退出历史舞台。塞班作为诺基亚全资子公司,受其狭隘保守的格局影响,对手机厂商和第三方开发者并不友好(系统只适配诺基亚手机且开发难度高)。相反地,谷歌积极地对Android开源,短短数年内就完成了弯道超车彻底击败Symbian。
相应的,苹果在接下来的三年时间里爆发出了蓬勃的创新力,相继推出了iOS5到iOS7,整合了语音助手siri、数据共享服务iclond、扁平化UI和touchID等等超前的产品设计。从品质体验和价格碾压Android,更频繁地亮相在消费者面前。这三年里是移动操作系统大举迈进,很多产品革新成果依然保留至今。
年到年,苹果不断在引导行业创新,而Android持续在模仿iOS的升级理念并打磨自身。市场整体呈现双头并进,相互博弈的局面。
此时,手机厂商老大诺基亚依然不肯底下高傲的头颅使用Android系统,年诺基亚和微软达成合作,开始采用WindowsPhone系统作为主要的操作系统。WindowsPhone继承了微软WindowsMobile的技术底蕴,但可惜的是无论在UI体验还是系统易用性上都远不如前两者,最致命的是在第三方应用上的先天不足,后天不补,直接导致了新产品无人问津、老用户大量流失的悲剧重演。
年,Android系统升级到了4.0,谷歌更注重Android细节的优化提升和基础功能的升级,并针对良莠不齐的手机厂商做进一步的适配优化,把更多的精力投入在底层改造上面,如优化系统速度、web应用api的开发、重新设计窗口生命周期等等;然而各种bug也随着而来,消费者们经历了Android饱受诟病的一代。
同年,阿里云正式推出了基于Linux的一个类Android系统yunos,yunos采用了与Android不同的架构,安全性能更优于后者,并兼容Android的大部分应用。在谷歌的挤压之下,能与yunos合作对象都是国内末流的手机厂商,随着近年来国产手机小厂纷纷倒闭,yunos也渐渐消失在手机操作系统中,只能另辟蹊径向交通出行、智能硬件领域发力。至此,已无人能撼动Android和iOS市场地位。
年到年,国产的Android阵营的手机厂商崛起,系统层面纷纷推出了各自基于Android的移动OS。
于此同时,在软硬件结合的产品体验中出现了许多新奇的玩法:指纹识别、压力感应、红外遥控、面部识别、曲面屏和全面屏、双摄和三摄等等,为消费者提供了更多选择;但不变的是,Android和iOS依然是市面上的主流两大操作系统,占据着绝对的垄断地位。随着移动系统功能以及系统生态的完善,苹果和谷歌在移动操作系统层面的创新力度趋缓,更多的是相互借鉴和参考,做一些小修小改。
年以后,苹果用户迎来了iOS11和iOS12,对系统应用与UI细节进行了进一步的雕琢,增强了语音助手siri的可用性,加入ApplePay转账功能,通知中心扩展更全面并提供一些简单有趣的AR小玩具等等。近年来,智能手机市场尤其是在中国已经逐渐饱和,消费者对手机的换新需求趋缓,加上各大Android手机厂商的强力冲击,厮杀惨烈,小厂纷纷倒闭或是被吞并,苹果的销量短期内开始出现疲软甚至下滑。
二、系统的对立:开放与封闭
Android和iOS在系统层面的差异化极大,其中最大的不同之处在于系统的开放与封闭,让二者在定位、发展和战略走向了两个极端:
Andorid的编程语言使用跨平台能力更强的java,iOS采用执行效率更高的Objective-C和Swift。两者运行机制不同:iOS采用的是沙盒运行机制,Android采用的是虚拟机运行机制。手机厂商对Andorid优化的参差不齐和第三方app开发者没有完全统一的开发标准,而iOS则没有这些问题。iOS对后台进程的管制严格,通知消息等唤醒动作有专门统一的激发要求,而Android的后台允许常驻对内存和cpu开销较大。
1.iOS
iOS是基于UNIX开发的系统,并且有别于Android的开源开放,iOS的封闭性为所有开发者统一了约束规范,苹果掌控着appstore所有应用的上架和迭代话语权,所有运行在iOS上面的应用程序都需要严格地遵从苹果的要求,小到ui设计大到整体的业务逻辑都在其掌控之下,这避免了类似Android恶意应用泛滥的情况,并一定程度上提高了第三方app的统一性和整体质量。
但不可避免的是,这缺失了Android系统的可玩性和可拓展性;让人欣慰的是,近年来iOS系统级的功能应用都在逐一完善,对于喜爱iOS的重度用户来说,越狱已经不再是刚需。
沙盒机制不是iOS特有的,但iOS玩转得得心应手。应用程序单独运行在一个封闭的沙盒之中,所有的非代码文件比如文本、图片、视频、属性集合等都集中规范在特定沙盒空间中,不同应用相互访问这些数据时,需要得到严格的授权,这样极大程度地保证了数据安全和用户隐私。沙盒目录下有三个文件夹Documents、Library(含有Caches和Preferences目录)、tmp。
Documents:存放文件数据,系统会自动备份需要的数据。Library:存放缓存文件和设置配置文件。tmp:临时目录文件,会被频繁的删除和写入数据。
iOS系统分为四个层级,这里我们同样不做过多深入,仅限了解即可:
可触摸层(CocoaTouchLayer):界面控件、通知中心、地图和广告服务等等。媒体层(MediaLayer):图像引擎、音视频引擎、游戏控制中心。核心服务层(CoreServicesLayer):网络控制、数据存储、其他硬件接口访问。核心系统层(CoreOSLayer):内存管理、电池管理、安全认证等待。区别于iOS拥有极高的软硬件契合度,Andorid系统具有开源特性,手机厂商都有针对性地对系统源码进行改写和优化,以更契合自家的硬件设备和满足消费者的需求,同时也能在硬件差异性难以明显拉开的情况下,扩大体验的差异化。
2.Android
Android采用了由C语音实现的linux内核作为底层系统,在应用软件和手机硬件中做为一个中间支持层存在。集成了所有应用服务所需要的驱动,通过上层发出的指令来调度驱动服务。
Android采用了虚拟机运行机制,这意味着每启动一个app,都相当于启动了一个独立的虚拟机,并且支持后台常驻,即便
用户退回到桌面或者访问其他app,都不会打断当前既有的任务回话,并且多个应用间能够串联启动,支持数据和文件共享。在这样的系统机制下,对cpu和内存的负担乃至电源消耗自然也要远大于iOS。
同样地,Android的的体系架构也大致分为四个层级,从下至上依次是:
Linux内核(LinuxKernel):内存和进程管理、显示驱动、摄像驱动、电源驱动等等。系统库(Libraries):Android运行环境(虚拟机和核心库)、java的功能函数、数据库、浏览器引擎、渲染引擎等等。应用框架(AppLicationFramework):提供指令Api,系统级应用的管理器。应用程序(AppLications):浏览器、电话薄等系统层面应用。值得一提的是,Android一直在低调而努力地布局智能硬件、可穿戴设备和其他移动市场,涵盖TV、车载导航、智能手表等等,配合硬件厂商推出了多种基于Android适配系统,从中能看到谷歌发力硬件生态的前瞻性和决心。
而iOS先天不足的闭源特性,导致苹果只能亲力亲为关上门来自己研究,除了年推出了智能手表applewatch之外,据称还在投入研发搭载iOS系统的无人驾驶汽车。随着5G时代的到来,物联网必定会催生出新一波的改变人们生活的变革浪潮,而为此深耕多年的Android其表现令人期待。
Android平台原理机制iOS入门简介本文仅针对系统层面进行简单介绍,详情