如何在iOS与Android间移植APP

标签: 交互设计 android Apple iOS | 发表时间:2011-05-10 19:15 | 作者:totry plidezus
出处:http://xuexiao.me

除了像”I am rich”这种定点打击苹果烧包族的APP外,大多数应用都会尽量覆盖包含尽可能多的用户。这就需要考虑在iOS和Android两种主流操作系统间移植的问题。如果为各个平台量身定做界面,就能让用户利用以往的使用习惯快速学习。但为多个平台设计各异的界面毕竟是需要工作量的。如何才能在跨平台移植的时候只做那些最有必要的工作呢?兵不打无准备之仗,先来看看iOS与Android间有什么差别吧。

1、物理键之返回

Android手机的基本设计思路是是把最常用的功能硬件化,所以就有了home,menu,back三个功能键(其实界面设计很简单啦,就是“用户到某个地方做某事”,所以就有了导航用的back和展开命令用的menu)。

乔老爷够狠,要求iOS设备只有一个物理键home(据说以后还会把这个键砍掉,用手势当home)。所以在iOS上,返回是通过title bar左侧的back按钮来实现的。但这样设计也有好处,因为这个back“软”键上的文本是可以改的。在这个按钮上填上上一次的题目,可以让用户明确地知道按下它会回到哪里。

 

2、物理键之menu

在android上,与当前页面相关的命令会收到由“menu”键唤出的菜单里。而在iOS上,这些命令会放在屏幕底部的toolbar上。这种展示方式相比android的优点是“能一目了然地看到能够对当前页面做的操作”。而在android上,必须按下menu键才能看到命令。你不希望用户在使用你的APP时肩负着把这些命令背下来的艰巨任务吧?

 

3、Android的加分项:通知系统

在iOS上,向用户推送信息的方式只有一种,就是alert box。这在iOS只支持单任务的时候还好说,提醒一来,哦…… 看完了就点确定。但到了多任务版本后就有点不合用了。虽然iOS的alertbox可以在用户使用某APP的时候弹出其他APP的提示,但这样未免太烦了。有时一些提醒并不需要强硬中断用户当前的操作,比如后台在下载的报纸下完了。Android有更精巧的Status Bar Notification和Toast Notification(详情可参看钟磊的手机系统消息通知设计的整理和分析和我写的如何为手机界面设计提示消息)。当要推送非紧急的消息时,Android平台可以使用更柔和的状态栏提示。

 

4、Android的加分项:长按操作

在Android上,当需要对一个对象采取一些操作时,可以长按,唤出相应的context menu(这是对一个项目的,如果是针对当前整个页面的操作,Android有menu物理键,iOS有toolbar)。但是在iOS平台上就不太有地方去放置针对屏幕上某一个对象的大量操作(一两个是可以的,放在项目旁边就O了)。可能在乔老爷看来,当需要对一个对象进行“炒、炸、烹、煮、蒸、熏、爆”的时候,就说明你想要的太多了。

 

5、iOS的加分项:右上角的快捷操作按钮

对于“右利手”用户而言,单手持机时屏幕左下角到右上角的连线是右手拇指的甜区。所以依照iOS的Guideline,当前页上最最最最最最最最最最最最最最常用的按钮应该放在titlebar的右端。

 

其实你会发现,清楚了这些差异之后,如何在平台间移植APP就清晰明了啦。

Android -> iOS

1、在每一级的标题栏左上角加上返回上一层的按钮。按钮名一定要是上一级的名称,不能用“返回”等无法透露回到哪里的文字。

2、由于iOS上没有menu键,所以需要将menu上的命令转化成toolbar上的图标。因此要额外绘制图标或者使用内置图标。

3、由于在iOS上没有“长按出context menu”的规则,所以需要给项目添加一个detail页面。不能在list页面操纵项目,那就再drill down一层呗。

4、由于iOS的通知方式只有alert box,所以诸如“下载完成”等提醒只能筛出重要的部分,用alert box传递。对次要提醒的设计可以看我之前的文章

 

iOS -> Android

1、左上角的返回按钮拿掉。

2、工具栏上的命令可以放到menu里。

3、如果对某个对象的命令很多,可以为其设计长按的context menu

4、不是很紧急的提醒就不要用alert box了,可以换成status bar notification

5、标题栏右侧的高频按钮可以保留,这个在android上也可以通用。

 

其实总的来说,也就两点:

1、差异主要体现在导航方式和页面命令上,所以对于页面元素的布局基本没影响。尤其是对于全屏游戏这种基本没导航,控件又都摆在屏幕上的更是影响不大。

2、iOS对硬件的依赖更低。如果实在是小公司,赶时间,没精力跨平台移植的话,可以考虑只为iPhone设计,然后直接套到android上,凑活着也能用的。但android用户在使用时也会觉得有一点点怪怪的。

 

已同步至MobileUED.com



 

相关 [ios android 移植] 推荐:

如何在iOS与Android间移植APP

- plidezus - 雪鸮的啁啾
除了像”I am rich”这种定点打击苹果烧包族的APP外,大多数应用都会尽量覆盖包含尽可能多的用户. 这就需要考虑在iOS和Android两种主流操作系统间移植的问题. 如果为各个平台量身定做界面,就能让用户利用以往的使用习惯快速学习. 但为多个平台设计各异的界面毕竟是需要工作量的. 如何才能在跨平台移植的时候只做那些最有必要的工作呢.

微软为Win10开发Android和iOS快速移植工具

- - 月光博客
  在今天凌晨的Build  2015开发者大会上,微软宣布所有Android和iOS应用,都可以通过简单的修改代码,直接生成适用于Win10的应用. 也就是说,开发者们不需要学习更多内容,就可以将自己的Android或iOS应用在Win10系统中运行.   微软在会上公布了Windows Store获得通用应用的四种方法:.

[Android遊戲] 森林跑跑熊:iOS移植的殺時間耐玩遊戲

- - 硬是要學
「森林跑跑熊」是從iOS移植到Android上的遊戲,即便以前就玩過類似玩法的遊戲,但「森林跑跑熊」的遊戲畫面風格和裝備升級系統讓我深深著迷、百玩不膩. 「森林跑跑熊」的遊戲方式很簡單,只要讓穿著飛行器的熊在森林裡順利躲過路上的各種障礙,不論是用跑、用飛的,只要可以透過障礙就行. 遊戲途中會出現許多森林跑跑熊最愛的蜂巢,收集蜂巢可以用來購買更好的裝備.

MIUI评测:iOS身,Android心

- gaochao - 互联网的那点事
百度要推出自己的移动操作系统,江湖传闻叫“秋实”. 我们这里老调重弹,回过头温习一下同样基于Android的人气很高的MIUI. MIUI是一款很养眼的Android ROM,借鉴了大量的iOS审美元素. 如果你怀念或向往iOS的外观和感觉,MIUI绝对是不二之选. 以下是笔者在HTC Desire上运行MIUI的体验报告.

客觀評 Android、iOS、WP7

- chitsaou - Trawler Computer, FM207.NET
半年多前,我曾經評價過 Android 和 iOS 的市場發展,雖然發展至今,文章內容可見反映過去,但未來卻變得不可預料. 一年多前,Android 並未像現在這樣熱起來,所以我覺得,盲目支持 iPhone 的一群「果粉」,他們很愚蠢,但時至今日,支持 Android 陣營的用家似乎更盲目. 故此,希望能以客觀的角度分析一下各移動操作系統的利與弊,同時希望各位不要盲目喜歡自己的手機,要多加以分析,以下逐點評論.

iOS 7已占iOS系统60%,Android相形见绌

- - 互联网的一些事-关注互联网产品管理,交流产品设计、用户体验心得
  现在已经有几亿的iPhone、iPad和iPod touch设备被用户使用,而用户们最近的一个一致举动,莫过于安装iOS 7了. 在上个星期三,苹果发布了其最新的移动操作系统iOS 7,而截至9月23日,iOS 7的安装率已经达到了60%. 根据网络公司的数据显示,在9月19日这个数字已接近了40%,而到这周一中午,iOS 7的装机率已经达到了60%.

LibreOffice将发展Web、iOS和Android版本

- Heng Yang - cnBeta.COM
OpenOffice.org的分支项目LibreOffice的开发方The Document Foundation今天宣布将尝试在Web浏览器和iOS、Android移动设备上运行这一办公软件,预计这些产品将在2012年年底到2013年初正式发布.

Android 4.0和iOS 5功能对比

- 介潤 - cnBeta.COM
Google今早在香港举办Android 4.0发布会,在发布会中Google介绍了新一代操作系统的不少功能,并发布了首款搭载Adnroid 4.0的手机三星Galaxy Nexus. Android 4.0与其竞争对手iOS 5相比会如何呢,下面让我们来看看这两个系统的功能对比图表.

HTML5能否取代Android和iOS应用?

- - CSS库
大量新生移动设备的兴起,改变了互联网的未来. 在技术的发展上, HTML5会取代App应用吗. 在HTML5规范中,已经加入了相机、磁力罗盘、GPS信息的支持. 很多新兴浏览器也已经开始支持这些新特性. 能否用一个统一的HTML5来替代 android和 ios并行开发的双重成本呢. 以下译自Michael Mahemoff的一篇文章,详细分析了HTML5能否取代Android和iOS应用程序.