浅析苹果iOS应用开发攻略

移动开发 iOS
iOS应用开发无疑仍会是未来一段时间内的热门,因此,不管是对开发者还是企业管理人员来说,或多或少了解一些应用开发流程十分有必要,本文涉及的大部分内容并不局限于iOS应用,同时也适用Android、Windows Phone和BlackBerry等其他移动平台。

[[56535]]开发前的准备工作

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以及用户体验截然不同。

Via KN

责任编辑:佚名 来源: 雷锋网
相关推荐

2010-09-10 10:59:48

苹果iOS应用

2012-02-20 09:20:34

苹果iOS应用开发

2013-12-18 14:41:06

苹果开发者iOS 7

2010-04-19 17:46:45

无线应用开发系统

2009-01-16 14:08:42

PHP开发Web应用执行效率

2012-05-13 12:43:50

iOS

2012-05-02 23:04:38

iOS

2009-09-24 17:21:17

加速Hibernate

2011-05-11 10:02:37

iOS

2013-04-07 16:52:04

iOS开发者账号开发者账号申请

2018-10-25 15:13:23

APP脱壳工具

2020-12-15 19:29:19

MacOSiOS苹果

2011-12-03 12:37:46

iOS

2011-07-08 14:58:16

iPhone Xcode iOS

2013-09-13 13:16:05

2011-08-11 16:50:04

iOSTwitter

2012-06-12 09:54:54

苹果iOS地图

2013-09-09 15:05:12

iOS应用内置付费IAP完全攻略

2009-07-14 16:40:31

MyEclipse开发

2013-10-16 15:36:53

iOS优化
点赞
收藏

51CTO技术栈公众号