从 2010 年 6 月第一次在学弟的 iPod touch 3 上面看到 iOS 系统,到 11 年 1 月开始从事 iOS 应用开发,直到现在的三年时间里,每天面对的都是 iOS。从 iOS 3.1 到 4.0、5.0 再到最新的 6.1,短短的三年间 iOS 的变化是巨大的。在即将到来的 Apple WWDC 2013 上,苹果公司将会发布 iOS 7,一个全新的 iOS。很多业内人士都已经积极预测了 iOS 7 即将带来的变化,诸如“扁平化”等。那么在 WWDC 2013 倒计时两周之际,我们来深入的了解一下 iOS 系统。本文将从 iOS 的设计哲学、iOS UI 的演进以及 iOS App 的发展这三个方面来介绍。这里是第一部分,iOS 的设计哲学。
iOS的设计哲学
2007 年苹果公司发布第一代 iPhone,正式进军智能手机行业,谁都没有想到 iPhone 对于人类社会的影响和改变能有如此之大,甚至使行业老大诺基亚一蹶不振。那时的系统还叫 iPhone OS,里面没有 AppStore,没有复制、粘贴的功能,没有前置摄像头……正如乔布斯在第一代 iPhone 发布会上反复强调的那样,iPhone 1 是 iPod、Phone 和 Internet 的结合,主打的就是能够打电话和上网的 iPod。即便如此,iPhone 跨时代的多点触控、虚拟键盘、专为移动设备设计的系统,还是让这部手机迅速风靡全球,第一周就卖出了 100 万台。
而其后由 iOS 所引发的关于用户体验(User Experience)、交互设计(Interaction Design)以及产品经理(Product Manager)的一股热潮,反应了 iPhone 之所以成功,最重要的原因就是这个产品本身非常完美,而使 iPhone 如此完美的,最重要的就是乔布斯反复强调的——“专为移动设备设计的系统”,也就是 iOS。
iOS 系统来源于 Mac OS X,因此 iOS 系统的层次结构和 Mac OS X 如出一辙,所以这不是一款简单的移动操作系统,正如我们现在所明了的,你几乎可以在 iPad 和 iPhone 上实现一切 PC 可以实现的功能。iOS 最突出的特点就是它的封闭性,而这个封闭性对于普通用户来说,就体现在它的几大机制上:比如沙盒机制和系统权限的控制机制。
沙盒机制(Sandbox)
乔布斯认为,移动设备的安全性是最为重要的,所以不惜牺牲应用程序之间的灵活通信而设计了沙盒机制。所谓 Sandbox,是指在 iOS 中,每个应用程序只能访问自己的文件夹下面的数据,没有权限访问其他 App 以及文件系统的数据。这样的结果就是 iOS 中的每个 App 都是一个信息孤岛,虽然在同一个设备上,但应用间的距离却是“咫尺天涯”(iOS的围栏花园)。要想解决应用间数据的共享,只能通过网络,或者 iOS 系统提供的有限的数据复制方式。
很显然,这就是大多数不喜欢 iOS 的用户的理由。因为我们习惯了 PC 上随意复制粘贴文件,根据自己的喜好创建文件夹等行为。 包括后来的 Android 系统,也可以随意访问各种文件夹和文件系统。我曾经也有过这样的怀疑,于是去试用了半年的 Android,结果发现极度缺乏安全感,还是换回了 iPhone。表面上 Android 系统各应用间共享数据很方便,几乎所有数据都是公开的,而且手机一旦连接 PC,所有的数据都暴露出来,极易感染病毒。而且在用 Android 的过程中发现,只要手机连接过PC之后,很容易丢失 App 的数据,包括照片等重要数据。这让我很怀念 iOS 的封闭性,所有的数据都很安全,需要的时候去打开相应的 App 访问,永远都不会无端的暴露出来。
沙盒机制在应用间数据共享与移动设备的安全性之间做了一个不错的平衡。设想如果 iOS 能提供一个公共区域,来存放任何你想存放的文件,所有的 App 都可以把文件存储在这个区域,也可以授权给某些 App 去读取这个公共区域,就像现在的 ImageLibrary 一样,那应该会更方便吧。
系统权限控制
由 iOS 催生的产业,除了 AppStore 还有很多,比如“越狱”。在中关村电子市场提供这种服务的,一次收费 100-200 不等。所谓越狱,也就是打破系统的控制,取得系统底层的权限,从而对系统做更多的修改。如果我们对 iOS 系统有所了解的话,就知道越狱其实是很危险的,越狱的 iOS 设备失去了系统权限的控制,开发者可以随意做任何事情,包括窃取个人隐私等。
iOS 系统很大的一个特点就是系统权限控制相当严格,体现给消费者的就是只能在 AppStore 中下载安装应用。这也是很多人不喜欢 iOS 的原因之一,因为 Android 可以随意下载 apk 包来安装软件,也不会局限于某一个应用商店。越狱后使用过 Cydia 商店里面各种各样插件的用户一定知道,iOS 可以实现一切 Android 可以实现的功能,比如通知栏快捷方式,桌面插件等。但是苹果为了给用户提供最好的整体体验,限制了应用开发者做这些事情,而且通过严格的应用审核机制来保证存在于 AppStore 中的应用都是符合 iOS 设计原则的。这也成就了 iOS 平台高质量应用的口碑,给数以万计的应用开发者带来了不错的收入,也是直到现在,iOS 平台的应用盈利状况要优于 Android 很多的原因。
控制系统权限是一把双刃剑,苹果在这方面做的已经很好,为了平衡功耗和电池电量,iOS 同时只允许一个 App 在前台运行,直到 iOS 4.0 开始引入多任务,允许程序在后台运行。但是后台运行的程序能够取得的权限依然很有限,这保证了 iPhone 的电量充足,以及系统资源的合理分配。在 iPhone 设计之初,乔布斯就考虑到了智能手机最重要的使用场景就是“移动”。所以我们设计移动应用时,要深入思考“碎片化”,如何让自己的 App 能充分的利用用户碎片化的时间,在这种场景之下,我们似乎不需要同时在 iPhone 上打开 Word 和 Excel。
欢迎继续阅读下一篇《写在 WWDC 2013 前的回顾之 iOS UI 的演进》