iOS应用开发无疑仍会是未来一段时间内的热门,因此,不管是对开发者还是企业管理人员来说,或多或少了解一些应用开发流程十分有必要,本文涉及的大部分内容并不局限于iOS应用,同时也适用Android、Windows Mobile和Blackberry等其他移动平台。
开发前的准备工作
iPhone应用的开发并不是一个简单的过程,建议按照以下步骤逐条考虑:
1)一个奇怪的发现是,很多企业人士和开发者对他们即将开发的iPhone应用竟然没有全局认识,甚至缺乏必要的技术常识。通常他们只是把iPhone应用当做一个简单的应用,而很少考虑到是否有支持的服务器以及用户数据的存储等问题。因此,有必要提醒一下,如果想开发一款认证/登录或者定制型的应用,首先需要有一个用来存储数据的服务器。
2)除了需要一台服务器外,还需要一个供iPhone和服务器之间进行通信的渠道。由于不存在标准或万能的通信渠道,因此需要根据应用的具体情况进行定制。这有点类似创建一套自己的语言,除了说话双方外,不想让其他人听懂。专业点讲,这就是创建API。因为必须在通信前定义语言,所以必须在iPhone应用正式开发前创建API。
3)如何创建API呢?首先,必须重视之,API创建好了,整个应用的开发工作也就成功了一半。创建API和制作一个完整的网站类似,首先需要定义数据模型、业务规则、输入参数,以及数据模型之间的相互影响等等。简单地说,结果等同于一个功能完备的网站,但页面上仅显示文本,而没有图形结果。
定义完成后,iPhone按要求格式将账户名和密码发送请求到预置API(登陆页面),然后便可返回结果页面。
在这一阶段,需要进行多项抉择,例如:如何选择服务器、如何选择语言,以及如何选择数据存储位置以尽量减少通信时延等等。
4)API的创建和应用的开发工作最好由同一个开发者来做,这样,他就更清楚何时调用哪个API,对应用开发全局有更好的了解。如果API创建和应用开发不是同一个人,建议应用开发者多和负责API创建的后端团队交流,因为很多时候他需要调用API以支撑整个移动应用。
应用开发
准备就绪后,就可以正式考虑应用本身了。通常情况下,iOS平台的限制很多也很严格。在开发者编码前,需要对范围有完整的定义,对设计有明确的规划。
界面设计:不管是使用标准界面组件,还是自定义组件,必须一开始就选择对,因为整个应用的结构都依赖于界面设计。例如,界面底部的标签栏,如果想使用其他颜色的图标代替青色色调,在代码中要做很大改动。
代码:在网站设计时,可以很方便地添加一个新页面,并为之创建链接,但在iOS应用中却不能这么做,所有元素都必须从一开始就确定,任何细微的改动都有可能会引发意想不到的后果。iOS代码的结构就像一个复杂的面板,虽然仍可以在部分地方做改动,但一旦改错了地方,将可能会导致整个面板崩溃。
拓展iPhone应用兼容设备:不建议拓展iPhone应用的附加功能,使其同时支持iPad,因为iPad应用并不是iPhone应用的一个附加功能,而是一种比iPhone应用更为复杂的东西,通常情况下需要与iPhone应用完全不同的界面和互动机制。将iPhone应用转变成iPad应用就好比将电动自行车改装成摩托车一样,虽然并非完全不可能,但绝非一项轻松简单的工作。此外,iPhone应用和iPad应用的底层API以及用户体验截然不同。