Web开发

注册

 

发新话题 回复该主题

产品开发移动应用程序的十大原则 [复制链接]

1#

加速会注:iOS和Android是有所差异的,但是如果你遵循以下原则,就能开发出很棒的跨平台应用程序。

原则1:对于不同平台,审美是不一样的

下图是Evernote应用程序在iOS8、安卓4.4.4和WindowsPhone8.1的不同样子。这些截图显示主屏幕的样式,三者的登录账户和时间是一样的,所以数据也完全相同。

然而,正如你所看到的,不同平台的用户界面是完全不同的。界面本身都经过了精心设计,但“好看的安卓应用”不同于“好看的iOS应用程序”。这是因为,对于不同平台,审美规律是不一样的。所以,在设计应用程序之前要后退一步,先了解你的目标平台,实现特定的参数。请记住,即使界面在不同平台的样式不同,你也可以使用Appcelerator代码库,有了它,你可以重复使用一些基础代码。

原则2:代码复用是可以的,但UI不要复用

对于Appcelerator代码重用工具或其他跨平台工具,很多人都有很多误解。其实,有%的代码重用并不合理,因为这样就很难控制应用程序的UI/UX,而且应用程序看起来也都是一样的。

当然,有些人认为这是一个跨平台工具的终极目标,但并不是这样,这其实是Web浏览器的目标,高可重用性只对应用程序的逻辑有用。

原则3:考虑“Web服务”

由于我们开发的是跨平台的应用程序,所以代码最好是完全抽象的,让编程逻辑完全独立于屏幕,甚至独立于它所运行的平台,让所有的编程模块与平台无关。然后就可以通过这些“本地Web服务”来构建本机的用户界面了,通过这种体系结构,可以确保所有的用户界面代码逻辑完全解耦,并且都可以独立地运行。

我曾经是Web开发人员,我知道,在开发移动应用时,是需要考虑Web服务的。然而,如果你能改变思路,就会开发出更好的应用程序。更重要的是,如果你使用iOS的TabbedBar和Android的viewpage,代码是一样的。毕竟,用户界面代码的逻辑相对简单。

我创建了一个应用程序模板,可以用作参考(见下文)。这个模板是用Alloy和Appcelerator的MVC框架搭建而成,提供了MVC架构,以维护特定平台的用户界面、内容和逻辑。你可以从GitHub下载该应用程序模板。

原则4:标签可以有不同层级

iOS标签有一个内置的导航控制器,它允许每个选项卡有多级导航。然而,Android的标签的层级有限,所以没有网页导航。

为了说明这一点,我将会展示Facebook是如何犯错的(如今已经修复了),下图显示了Android版本的Facebook应用程序之前的标签是什么样子的。

Android版本的Facebook应用程序

每个Android设计指南上都会说,主屏幕上不应该有后退按钮。不过现在,如果你点击Facebook应用程序的通知,界面就会如下图所示。

Android版本的Facebook导航

Facebook一直在试图实现类似ios的功能,想提供网页导航,但其中有两个问题。首先,通知选项卡的ActionBar要求用户评论,这会令人感到困惑。第二,也是最重要的一点,现在的后退按钮有了新的意义:返回前一个界面,而不是关闭应用程序。

所以,不要在Android平台上使用导航标签,这样会破坏后退按钮的操作,使操作程序不流畅

原则5:了解你的目标平台

以上的选项卡问题只是个例子,最重要的是,你要了解你的目标平台,要知道什么可以做什么不可以做,以上的内容都需要通过阅读每个平台的用户界面指南来获得。

除非你每天花很多时间来使用各种操作系统,否则最好多花些时间阅读指南。

读过这些文档后,你就会了解每个平台,可以设计出更好的用户界面,可以知道如何获得更多API,或第三方模块。

原则6:和设计团队一起工作

如果你是一名平面设计师,那就要了解各个平台的导航模式、视觉语言等等,因为细微的差别对可用性有很大的影响。

如果你是一名程序员或者是自由职业者,那就要要学会设计师一起工作,甚至教育他们。要帮助他们理解每个平台的本地显示信息、屏幕布局和导航,这些差异远远超出了后退按钮和ActionBar。移动平台不同,跨平台的应用程序跨平台也会略有不同。

原则7:不要避免使用模块

Appcelerator从未打算完全支持原生SDK,而是要提供一个全面、顶级的跨平台API。至于其他特性,它还提供了一个原生模块开发框架,objective-c和Java开发人员可以用它来展示更多特性和功能。这些模块可以极大地提高应用程序的整体质量和用户体验。所以,要学会找到模块并使用它们。

原则8:喜欢你的目标平台

不要让你的个人偏好影响应用程序的设计、功能和质量。即使你喜欢iOS,也不能表示出过度的偏爱,要学会接受每个平台的优点和局限性。要对平台进行比较,而不是批评,每个平台都有自己独特的特性,所以,要根据不同平台来建立不同的应用程序。

原则9:经常进行测试

由于跨平台应用程序有特定的平台代码和组件,所以要经常测试。不要局限于Android版本,还要在iOS平台上尝试运行,发现问题及时补救。由于要经常进行测试程序,所以建议采用第三方测试平台。比如使用Testin做程序测试,Testin专注于面向全球范围内的移动互联网应用开发者,如移动APP开发者、移动手机游戏开发商及互联网相关移动应用企业提供“一站式测试服务”。Testin一站式测试服务:包括从移动应用内测到功能测试、性能测试、兼容测试及移动应用发布后持续质量监控,解决APP终端在功能、性能、碎片化、兼容性、稳定性等难题。

原则10:成为用户

在开发应用时,用户是最重要的考虑因素。如果你可以成为用户,就可以知道这个平台是如何工作的并自己去体验。同时,你还要研究其他应用程序,尽可能诚实地进行比较和分析。测试应用时,要问问你自己:我会用这个程序吗?这个程序怎么样?如果你喜欢自己开发的应用程序,那么用户也很可能喜欢它。

如今的公司没有办法改变移动应用的浪潮或移动用户的期望和要求,所以,学习开发跨平台应用是一项十分重要的技巧,它能帮助你(和你的公司)在这种环境下获得成功。通过这10条建议,你也许可以成功。

作者介绍:RicardoAlcocer在软件开发行业拥有超过20年的经验,负责开发产品、管理软件开发团队、教编程课程、指导软件开发人员和企业家。作为一位科技传道者,Ricardo写了书、参与了广播、电视和无数的演讲,范围遍布美国、加勒比地区、南美、欧洲和亚洲。你可以在Twitter、LinkedIn和GitHub上找到他。

加速会:加速你对世界的理解,内幕全在这里!请

分享 转发
TOP
发新话题 回复该主题