iOS应用程序开发过程的简述

来源:互联网 发布:linux 脚本优先级 编辑:程序博客网 时间:2024/04/26 11:24

问:一个优秀的应用程序的衡量标准是什么?
产品经理答:满足了用户需求,解决了某个问题。
设计人员答:界面风格简单、漂亮,吸引用户。
程序员答:高效完成开发任务,让程序易读、易扩展、易维护。
运营人员答:用户愿意使用并自传播。。。

每个人都有角色定位,看问题的角度不同,答案的侧重点自然就不同了。但一个优秀的应用绝不是单单某一个环节做好了,而是所有环节共同作用下的产物,主要包括:
了解用户 ——> 产品定位 ——> 产品设计 ——> 开发、测试 ——> 产品推广与运营

那么,作为开发人员的我们,是否只需要关注产品团队发来的UI设计图呢?答案是否定的。在此之前,我们也需要了解用户、了解产品,知道所开发的应用是解决了用户的什么问题,这样能帮助我们更好地开发。

首先,明确产品解决了什么用户的什么问题,然后开始开发。

以下从开发人员的角度阐述iOS应用程序开发过程,从概念性知识到实践,再由实践反观概念性知识,逐步提升:

定位概念

了解用户:用户是谁?有什么基本特征?
产品定位:用户为什么要使用该产品?产品解决用户的什么需求?
了解设计:产品要呈现什么内容?(用户界面与交互)

设计用户界面

拿到设计人员的UI设计图后,如果从自身审美角度看不够简洁、直观,不符合用户使用习惯的话,在心里默默鄙视一下是可以的,如果实在看不下去,“呵呵”一下吧。。。
话说回来,这里说的设计用户界面是指视图的构建、布局、定位。因为在应用程序中,视图是负责向用户呈现内容的,所以也可以说是设计“视图”。设计应该遵循简单、高效。

视图构建:可考虑使用 常规构建 or StoryBoard
视图布局:分析使用的视图类型,视图层次,各视图之间的关系
视图定位:由于设备大小尺寸不一致,建议使用Autolayout

明确用户交互

iOS应用程序是基于事件驱动编程的,即应用程序流程是由事件决定的:系统事件或用户操作。

用户交互:明确用户操作及如何响应操作
视图填充/管理:使用视图控制器(ViewController)。在.nib中提供给用户操作的视图;在自定义视图文件(.h/.m)中编写响应操作的一系列逻辑。

Action - Outlet - Control

实现用户交互

计算机存在的根本原因是保持数据、传输数据。在iOS应用程序中,用户操作其实就是产生数据,响应用户操作的实质也是如果保持数据、传输数据,且使用Objective-C来实现(暂不考虑Swift)。
Objective-C提供了面向对象的特性,即一切事物皆为对象。应用程序可以看做一个大型的生态系统,通过互连的对象相互通信来传输数据(PS:在实现一个功能时,是否就是在解决一些对象之间传输数据的问题呢?YES!)。在iOS中,对象在运行时通过互相发送消息来交互,通过协议定义消息发送契约。
类是特定类型的对象所共有的行为和属性。当多个对象具备一些共性时,这些共性可以封装出来,之后让也具备这些共性的对象通过继承来轻松实现,不仅保留了共性,还具备个性。体现了OOP思想中的封装、继承、多态。官方封装的类叫框架类,我们自己封装的类就叫自定义类啦。

对象:界面元素 + 数据类型
类: 框架类 + 自定义类
对象与类之间的关系: 实例化
类与类之间的关系:继承
类与相似类之间的关系:协议/委托

维护数据

应用程序的数据模型定义了维护数据的方式。构建良好的数据模型必不可少,利于应用程序的易读性、易扩展性、易维护性。
数据模型的范围既包括对象的基本词典,也包括复杂的数据库,由数据结构(FoundationKit)和自定义逻辑(自定义类)组成。

数据模型除了需要我们利用已有的框架来搭建以外,善于利用已有的数据模型的支持,会让我们事半功倍,如设计模式(MVC/委托/目标-操作)。

0 0
原创粉丝点击