《移动应用程序开发入门》由会员分享,可在线阅读,更多相关《移动应用程序开发入门(12页珍藏版)》请在金锄头文库上搜索。
1、X = -1.297 mm Y = 111 mm % = 111%IBM 软件系统和软件开发思想领导力白皮书移动应用程序开发入门企业团队开发移动应用程序项目指南2移动应用程序开发入门执行摘要 各种行业开始意识到其业务应用程序的目标受众有很多已经从 台式机和笔记本等传统个人计算机,转移到使用诸如智慧手机 和平板电脑等移动设备,以访问互联网,获取他们正在寻找的 信息。这适用于应用程序的目标受众是企业直接客户(企业到 消费者应用程序,即“B2C”),或者目标用户为员工或商业 合作伙伴(“B2E”和“B2B”,或者企业到员工和企业到企 业应用程序)的情况。世界上有越来越多的人开始使用可以随 身携带的移
2、动设备,这种移动设备使用起来更加方便和直观, 成为通过互联网获取信息和请求服务的首选方式。终端用户行为的转变激励企业为现有业务应用程序开发移动 渠道,并规划可利用市场上现有移动设备的独特特征的新型应 用程序。随着信息技术行业出现一次次重大变革,这种转变 的头几年是为满足需求和抢占市场占有率而匆忙展开的混乱 活动,应用程序开发、维护、质量和安全性等战略问题均被 忽略。随着移动应用程序市场成熟,最初抢占市场的乱象逐渐 平息,企业中负责较长期规划和财务的人开始提出更广泛的软 件开发问题。IBM 作为严谨负责的软件开发合作伙伴,在很多行业的企业 中享有盛名。IBM 全球服务部最近发表一篇文章,题为 E
3、stablishing an effective application strategy for your mobile enterprise,(为您的移动企业建立有效的应用程序战略)1, 全面总结 IBM 对规划、开发、部署和管理移动应用程序的建议。 这篇文章内容广泛,本文讨论其中的一个主题,重点讲述移动业务应用程序开发的综合方法。根据本文所述的方法,协作软 件生命周期管理的最佳实践和创建移动应用程序的新要求有机 结合。本文内容旨在帮助所有参与移动企业业务应用程序开发 项目的角色:负责移动项目规划的架构师;制定实施决策的开 发团队;确立项目活动详细内容的项目经理;新应用程序的测 试组织;以
4、及需要了解新移动应用程序如何与现有企业应用程 序和开发流程匹配的高管。移动应用程序开发的特殊挑战 要创造可在智能手机和平板电脑等新型移动设备上运行的应用 程序,需满足和克服特殊的要求和挑战。外形和用户输入技术 移动应用程序的第一个,也是最明显的特点是,显示器的外形 和用户互动与之前的软件形式大不相同。智能手机一般只有四 英寸用于显示应用程序内容的区域,屏幕分辨率也较低。而个 人计算机 (PC) 一般显示屏更大,像素也更高。即便是平板 电脑设备,一般显示尺寸也低于 PC,尤其是对比新型台式 PC 使用的大屏幕纯平显示器,差距更为明显。3IBM 软件外形小意味着这些应用程序为终端用户显示的数据量以
5、及数据 的展示与 PC 上运行的应用程序不同。一次性展示的数据急剧 减少,因此展示的数据必须是“正确的”数据,即与用户此刻 的需求关系最紧密的数据。 移动应用程序的另一个明显的不同是用户输入方法不同。作为一 种有效且流行的用户输入方式,移动设备成为非键盘“手势” 应用的开拓者。令人满意的移动应用程序用户体验必须设计并 支持触摸、滑动和捏放手势。这类触控式用户输入机制取得巨 大成功,以致于现在传统的 PC 系统为支持这种触控操作也开 始重新进行设计,包括苹果的“Lion”OS X 版操作系统和 Windows 8“Metro”操作系统。除了触控式用户输入外,移 动设备自然会支持基于语音的用户输入
6、。事实上对于移动应用 程序用户,他们在输入内容时,传统的键盘输入形式可能是最 低效也是最不受欢迎的用户输入机制。除了直接由终端用户输入内容外,移动设备还能够接受其他源 的输入,例如设备中的 GPS 组件的地理位置输入以及这类设 备常见的摄像头装置所发出的图像信息。移动应用程序的设计 和开发一定要考虑输入形式的特殊性。相对于输入方式有限的 应用,移动应用程序提供有价值的新型输入机制,让移动应用 程序功能更强大,应用范围更广。可用性和用户互动设计 多个因素促使人们更加注意移动应用程序的可用性和用户互动 设计。一是外形和用户输入方式不同。与只是将所有数据简单 展示出来,让终端用户自己浏览筛选出需要的
7、数据相比,做好 规划以仅显示极其必要的数据要困难得多,也更加耗时。拿写 作类比的话,写出一个简洁的摘要比写一整篇文章要难得多。移动应用程序设计者必须考虑屏幕的尺寸。如果应用程序需要 展示包含多层详细信息的大量数据,一般最好选择渐进式挖掘 方法,让用户“向下挖掘”逐步获取具体针对较少项目的深层 详细信息。 移动设备支持丰富的输入方法,这促使我们在早期设计工作中 识别和使用更高效的输入数据发送方法,而不是像传统 web 和 PC 应用程序那样,一概使用简单的“在窗体内键入内容” 的设计。移动应用程序必须避免大量的键盘输入工作,尤其是 触摸键盘极小又缺乏传统的输入反馈的情况下,以便为终端用 户减少操
8、作难度。确定如何通过非键盘方式收集信息并发送给 应用程序是一个很大的设计难题。之所以要对移动应用程序的设计工作多费心思,还有一个小小 的动机。终端用户与移动设备互动的方式和应用程序在设备上 运行的方式不同于用户与固态 PC 甚至笔记本的互动方式。移 动设备的终端用户一般在手持操作设备的同时,还在与其所处 的实际物理环境互动。这些应用程序用户一般无法长时间专注 地操作移动应用程序,他们会不时地将注意力转移到自己周围 的物理环境中。移动应用程序的用户互动模式是短暂、中断和 “突发”,即用户需要在转移注意力前非常迅速地完成应用程 序任务。 4移动应用程序开发入门综合考虑上述所有因素,对于移动应用程序
9、,我们必须在开发 项目的初期就投入更多时间和精力,研究以用户为中心的设计。 理想状态是,这些可用性注意事项和设计要求应作为移动应用程 序的强制性要求,指导后期的开发成果交付,并辅助测试以确保 应用程序的用户互动和“可操作性”尽可能让人满意。实施技术的选择 市场上移动应用程序的实施选择很多。移动应用程序实施的选 择没有完美答案,所有选择都有各自的优缺点。因此,移动开 发团队的挑战是了解并权衡不同技术,根据具体应用程序的要 求进行选择。上文提到的 IBM 全球服务文章对实施选择有简 洁的说明并附带有对比表格。本文提供若干补充注意事项。移动项目实施技术的选择会影响其他与应用程序开发相关的 决策。它可
10、能会限制开发工具的选择。实施选择可能对团队角 色和结构产生影响。它可能影响应用程序的测试和检验方法, 以及分销方式和交付终端用户使用的方式。因此,为应用程序 选择实施方法是一项需在早期决定的关键决策,需认真对待。本地应用程序实施 “本地”实施是指您利用编程语言和某类设备的移动操作系统 的编程接口编写应用程序。例如,iPhone 的本地实施是指使 用 Objective-C 语言和苹果提供和支持的 iOS 操作系统应用程 序编程接口 (API) 编写。 本地应用程序实施的优势是高度忠实于移动设备。由于使用的 API 水平较低,并且特别针对应用程序目标设备的接口,所以 应用程序可充分利用设备的所有
11、功能和服务。 手机应用程序的本地实施完全无法在任何其他移动操作系统 中实现。一个本地的苹果 iOS 应用程序如果想在安卓设备上 运行,则必须彻底重写。因此对于移动业务应用程序,本地实 施的成本十分高昂。web 应用程序 较新型的智慧手机和平板电脑预置高级 web 浏览器,如果移 动业务应用程序为标准 web 应用程序,并附有特殊样式表, 可适应移动设备的外形尺寸并模拟其“外观和感觉”,那么实 施起来便十分简单。使用这一方法实施的移动应用程序可支持 最多的移动设备,因为 web 浏览器对于 JavaScript 和 HTML5 的支持基本相同。商业的和开源的 web 2.0 小工具资源库有 很多
12、,这些小工具对 web 实施方法也有所帮助。移动应用程 序实施的 web 编程模型对于企业还有一个优势,即有的开发 人员已经接受过 web 应用程序开发的语言和技巧训练。 纯 web 的应用程序实施的缺点是此类应用程序不可访问移动 设备上直接运行的功能,例如摄像头、联系人名单等但是如果 您的移动应用程序无需使用设备上运行的本地服务,则纯 web 5IBM 软件应用程序方法就已足够。随着 HTML5 规范愈加成熟并得到 更多移动 web 浏览器的支持,很多移动设备的本地服务将通 过 W3C 编程标准,对纯 web 应用程序开放。web 应用程序和本地应用程序的另一个不同是应用程序的分销 和提供给
13、设备使用的方式。本地应用程序必须从类似“应用程 序商店”的地方下载并安装,例如向公众开放的苹果 iTunes 商店或谷歌的安卓市场。应用程序商店分销机制的优势是可使 用搜索算法轻松找到移动应用程序。企业有时会重视对移动应 用程序商店所催生的市场的了解和终端用户反馈。 应用程序商店不好的一面是,尤其是对于公共商店而言,他们 直接处在企业和目标用户之间。所有移动应用程序更新必须通 过应用程序商店,很难通过应用程序商店机制远程控制和管理 已经交付的移动应用程序。web 应用程序不通过应用程序商店 分销。终端用户只需在移动 web 浏览器中输入应用程序的 web 地址,应用程序即可通过互联网交付。更新
14、移动 web 应 用程序与更新应用程序所在的服务器一样简单。下一次有任何 用户访问网站时,新版移动应用程序就会下载到设备中。混合式移动应用程序实施 混合式移动应用程序实施是纯本地实施和纯 web 实施二者的 折中。 您使用 HTML5 和 JavaScript 等行业标准 web 编程语言和技 术编写应用程序。但是您将应用程序打包成可在本地安装的 格式,并通过应用程序商店机制分销。 混合式应用程序与其他本地库链接,允许应用程序从单一应用 程序代码库访问本地设备功能。由于大量混合式应用程序所采 用的实施技术对各种设备普遍适用,所以大多数应用程序的代 码可应用于很多不同的移动操作系统,重复使用。但
15、是少部分 本地代码片段也可与混合式应用程序集成。因此开发人员可决 定应用程序实施有多少是共享的通用代码库,有多少是针对具 体设备定制的。您还可选择程序包中有多少代码为通过应用程序商店交付的 可“本地”安装的应用程序,多少是通过网络下载的程序。应 用程序显示的第一批要素可打包直接安装到设备上,因此可在 用户启动应用程序时快速加载。其他较为动态的要素可构造成 web 页面的形式,在服务器上管理,并且每次访问时总是提供 最新版本的应用程序。对于一般移动业务应用程序,很多行业分析师坚定认为,长期 来看代码再利用和移动应用程序开发的经济意义将有利于折中 性的混合式应用程序的发展。移动应用程序构建和交付
16、由于企业迫切需要快速将移动应用程序推进市场,移动开发项 目的时间一般都很紧张。往往从开始到交付只有几个月。快速 交付应用程序的压力导致大多数移动项目都使用灵活的开发 方法。 6移动应用程序开发入门灵活开发实践的一个重要元素是不断集成和构建。开发人员交 付应用程序变更后,应立即针对应用程序执行所在的所有移动 操作系统进行处理。如果移动应用程序是混合式或本地实施, 那么每当开发人员交付应用程序变更集时,均需要触发若干不 同版本的应用程序。每种支持的移动环境下的版本安装和配置 均与其他环境不同,很可能需要提供一个小版本服务器“农 场”,用于处理多个操作系统下的不同版本的移动应用程序。 测试 移动应用程序开发面临的另一个重大挑战是测试。与传统应用 程序相比,移动应用程序测试在复杂性和成本上有一个质的 飞跃。与传统 PC 和 web 应用程序不同,可能支持的移动设 备范围和版本数非常之广。移动项目的测试矩阵往往包含数 百,甚至数千种设备、移动操作系统层、网络载体、区域设置 和设备定向组合的排列方法。 移动测试的等式中还有其他变量加入,这些变量与其他类