一、导航逻辑的差异
大家都知道ios没有实体返回键,所有返回都是通过导航栏的back按钮(图1)来完成。所以,ios应用大多数情况下,只提供单一路径,无论什么样的程序,都只有一个窗口,这个窗口用于放置程序的内容和功能,用户不会意识到这个窗口。在ios设备中,用户会觉得程序是依次呈现的一屏又一屏图像。所以ios的返回控制的是应用的页面。
要注意的是ios系统应用内的导航与系统导航分隔开,ios应用内一般无[退出]选项,通过home按键返回到主屏界面及退出应用。
图1
与ios不同,Android是有物理返回按钮的,点击返回按钮,控制的不光是一个页面,而是包括了上一步操作。比如说:进入页面A,点击文本框弹出键盘。那么点击返回按键就是收起键盘。所以,android的返回逻辑是按照倒叙的时间流进行的,返回控制的不仅是页面,还有动作。
另外,要注意的是,在android4.0开始,提出了一个向上的概念,就是导航栏标题前的一个小箭头,点击这个小箭头,可以回到该页面的上一层级。所以现在导航就变成应用内和系统的双向导航。比如:当上一个查看的界面是当前界面的父层级时,点击“返回”按键和点击“向上”按键的结果是一样的。然而,与“向上”按键不同的是,“向上”按键可以确保用户停留在应用程序中,而“返回”按键可以让用户回到系统首页,甚至会回到另一个应用户程序。(图2)
二、布局的差异
ios平台界面布局(图3)
图3
Android平台界面布局(图4)
图4
三、应用之间联系的差异
众所周知,iOS是一个封闭的系统,而Android是一个开放的系统。我们可以比喻iOS每一个应用都是一个小房间,每个应用都在自己的房间里做自己的事情,互相之间不进行任何来往。而Android则是一个大大的办公区,每个应用虽然也有自己的工位,但是可以互相串门或者借用东西。到了iOS6的时候可以支持应用直接互相跳转了,但那也仅限于你跳出去了,就不再回来了,也就是说到了那个房间你就是那个房间的人了,与之前的房间没有关联了。
这样的差异意味着,iOS应用的权限变得很低,身为应用的你既不能修改系统的一些属性(除非越狱了),也不能修改其他应用的内容。而Android的一款应用不但可以控制系统的一些操作,还可以控制其他应用执行某些特定的操作。
这种差异会让安卓上的应用设计有了更多的可能,身为设计师的你可以根据这一特性设计很多不错的功能,比如系统美化或者系统优化,杀毒,拦截电话等功能,而iOS就不能。但是这也让Android系统面临了很严峻的安全问题,所以安卓上各种优化和杀毒软件很流行。
四、多任务的差异
多任务的差异用一句话来形容就是:iOS都是假的多任务,而Android是真的多任务。
如果你设计的应用有下载,那么iOS切换到后台下载就被暂停了,而Android不但不会暂停,你还可以设计一些偷偷在后台运行的功能!
五、分辨率的差异
适配一直是Android很头痛的问题,身为前端往往要为不同的分辨率调效果而保证界面不会变形和模糊。而分辨率问题不仅仅影响视觉这一块,对交互设计也有很大的影响。因为这些手机往往屏幕比例也是不同的,你需要考虑不同的长宽比下,你的界面布局应该是怎样的。所以在设计Android的时候,你不能要求把界面布局写死,应该尽量保证每个控件都是浮动的,而且自己能评估出各种古怪的布局下的效果。
iOS 就会好很多。iOS分辨率分为320×480,640×960,640×1136,虽然看起来也蛮多的,但是界面的比例基本上没有什么变化。所以对于交互上的布局影响并不是很大,视觉设计师也可以通过脚本缩小裁图简单的解决问题。
六、设计风格的差异
设计风格是这两个客户端自己独特的个性,设计风格不单影响的是视觉设计的层面,对交互设计也非常的重要。尤其是在考虑动效,拟物化交互的时候需要重视。iOS的设计风格偏向拟物化风格,这个拟物化不光是视觉上做出很多拟物的小按钮小控件的,为了配合视觉,你往往在交互上也可以加一些生动有趣的内容。
比如说像最新的Path,进入商店时遮阳板会有一个收起的效果,小卡片也会根据重力感应而摇摆。如果交互上就能体现出平台的设计风格的话,无疑会非常讨好用户,增加产品细节上的亮点。
Android平台就简单一些了,在整体的布局和交互形式和iOS差不多的情况下,尽量的简洁,呈现一种科幻的风格即可以了。Android平台尽量少用拟物化的动效,因为Android系统对于动画效果的渲染比较差,如果太复杂的话可能会让界面非常的卡。