App Development Process
成都创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为台江企业提供专业的成都做网站、网站建设,台江网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
应用程序开发流程
虽然开发一个应用程序的工作看上去让人生畏,但是这个过程可以被简化成几个简单的步骤。下面的这些步骤将帮助你开始和指导你在开发你的第一个应用程序的时候有正确的方向。
Defining the Concept
确定构想设计
每一个伟大的app都开始于一个构想。
实现构想的最佳方法就是考虑你想让你的app解决的问题。伟大的app解决一个单一的、定义明确的问题。举个例子,设置(Setting)应用程序允许用户调整所有设备上的设置。它为用户完成一组相关的任务提供一个单一的界面。
要得到一个构想需要考虑如下的一些关键问题:
谁是你的受众?你的app内容和用户体验的不同将取决于你编写的是一个儿童游戏、一个×××事宜清单、或者甚至是一个用于自己学习的测试程序。
你的app的目的是什么?一个app拥有清晰明确的目标是非常重要的。作为定义目标的一部分,要了解用户是被你的app的什么内容吸引而使用app。
app试图解决的问题是什么?app应该专注解决一个问题,而不是提供解决很多不同问题的方案。如果你发现你的app是在解决无关的问题的时候,你或许可以考虑写多个app。
app包含什么内容?考虑你的app要包含什么类型的内容给用户,以及用户如何与它进行交互。设计用户界面来实现出现在app中的内容的类型。
当你开始开发你的app的时候,构想不一定非要完美或完整。不过,它有助于了解你要去哪儿以及该如何做。
Designing a User Interface
设计用户界面
在你的app有了一个构想之后,设计一个良好的用户界面就是创建一个成功的app接下来要做的事情。用户需要一个尽可能简单的方式和app的界面进行交互。要用用户的思维来设计界面,并且使它有效、清晰且明了。
关于构建用户界面最具挑战性的事情可能是将你的构想转化为设计,并且实现这些设计。为了简化这个过程,请使用故事板。故事板让你在一个单一步骤的图形环境中设计和实现你的界面。你能够在你构建它的时候看见你所构建的东西,及时反馈什么在工作而什么没有在工作,并且立刻看到你的界面的改变。
当你在故事板中构建了一个界面的时候,你正在一个视图上工作。视图(Views)显示内容给用户。在Tutorial: Basics中,你在故事板场景中的开始为ToDoList应用程序定义一个用户界面。当你开发更加复杂的app的时候,你将创建带有更多场景和视图的界面。
在 Tutorial: Storyboards,你将完成ToDoList应用程序的用户界面构建,这些界面使用多种不同的视图来显示不同类别的内容。在Designing a User Interface中你将学习到跟过关于使用视图和故事板来定义和创建用户界面的内容
Defining the Interaction
定义互动
如果没有逻辑支持它,用户界面不能做太多的事情。在你创建了一个界面后,你要定义用户如何对他们所看到的内容进行交互,这需要你编写代码来响应用户在界面上的操作。
在你开始思考为你的界面添加行为之前,了解iOS app是基于事件驱动程序设计是非常重要的。在事件驱动程序设计(event-driven programming)中,app的流是由事件决定的:系统事件或者用户操作。用户在界面上执行操作,它触发app中的事件。这些事件导致app的逻辑和数据操作的执行。app响应用户的操作然后返回到界面中。
当你定义用户如何与界面进行交互时,请记住事件驱动程序设计。因为用户,而不是开发者,是控制某段代码被执行的人,你需要完全确定那个操作用户能执行且这些行为将会反馈什么。
你在视图控制器(view controllers)中定义事件处理逻辑。你将在Defining the Interaction中学到更多地关于使用视图控制器的内容。之后,你将在ToDoList 应用程序中应用这些概念来添加功能和交互性。
Implementing the Behavior
执行行为
在你在app中定义了用户可以执行交互的操作之后,你要通过编写代码来实现这些行为。
当你为iOS app 编写代码的时候,你将花大量的时间在OC编程语言(Objective-C programming language)上。你将在第三个模块中学习到更多关于Objective-C的内容,但是现在,它有助于你熟悉这种语言的基本术语。
.Objective-C是建立在C编程语言的基础上的,它提供面向对象的功能和动态运行功能。你可以使用所有熟悉的元素,例如基本数据类型(int,float 等等)、数据结构、函数、指针、以及流程控制结构(while、if...else、和for语句)。你也能访问标准C程序库,例如已申明的stdlib.h 和 stdio.h。
Objects Are Building Blocks for Apps
对象是为Apps 构建的代码块
当你构建一个iOS应用程序的时候,你大部分的时间都是花在了对象上。
对象(Objects)封装了相关行为的数据。你可以把app看成一个大型的相关联的能够彼此联系来解决具体问题的生态系统,例如显示一个可视化界面、响应用户的输入、或者存储信息。你使用很多不同类型的对象来建立你的app,从界面元素、例如按钮和标签,到数据对象,例如字符串和数组。
Classes Are Blueprints for Objects
类是对象的蓝图
一个类描述了所有特定对象的共有行为和属性。
像许多建筑是根据相同结构的蓝图建造的一样,每个类的实例与类的其他实例共享相同的属性和行为。你能够编写自己的类或者使用已经为你定义好的框架的类。
你通过创建一个特定类的实例来得到一个对象。你通过分配和初始化具有接受默认值的方式做到。当你分配(allocate)一个对象的时候,你为这个对象留出足够的内存空间并将所有实例变量设置为0.初始化(Initialization)是设置对象的初始状态——得到一个合理的值并返回这个对象。初始化的目的是返回可用的对象。你要进行分配内存和初始化对象以便能够使用它。
Objective-C编程里面的一个基本概念是类的继承(class inheritance),既,一个类从父类中继承行为。当一个类继承自另外一个类,这个孩子——或子类——继承父类的所有行为和属性。子类能够定义自己额外的行为和属性或者重写父类的行为。这使你能够扩展现有的类中的行为。
Objects Communicate Through Messages
对象通过消息进行通讯
对象在运行的时候互相发送消息进行交互。在Objective-C术语中,一个对象通过调用另一个对象的方法来发送消息。
在Objective-C中虽然有好几种方法来在对象之间发送消息,但到目前为止,最常用的是使用方括号的基本语法。如果你有一个Person类的somePerson 对象,你能向他发送sayHello消息,如下所示:
.[somePersonsayHello];
.
左图,somePerson,是消息的接收方。消息位于右侧,sayHello,是方法的名字其被接收方调用。换句话说,当前面行的代码被执行的时候,somePerson将被发送sayHello消息。
Protocols Define Messaging Contracts
协议定义消息传递契约
协议(protocol)定义了一组行为,这些行为是对象在特定情况下所期望的行为。一个协议以编程接口的形式出现,任何类可以选择实现。使用协议,两个远继承关系的类可以进行互相通信来完成一个特定目标,例如解析XML代码或者复制一个对象。
任何类都能提供对其他类有用的行为,能为一个不署名的行为声明一个编程接口。仍和其他类能够选择采用协议并实现其中一个或更多的方法,来使用这些行为。(翻译者:本段的意思就是在使用使用协议之前要进行声明。)
Incorporating the Data
合并数据
在你实现了你的app行为之后,你创建一个数据模型(data model)来对你的app界面进行支持。一个app的数据模型定义app中数据的保持方式。数据模型可以从基本的对象的字典到复杂的数据库都可以。
app的数据模型应该反映app的内容和目的。它的界面和数据应该有清晰的关系,即使用户不直接和数据进行交互。
一个好的数据模型对为你创建基础扎实的app是至关重要的。它使其更容易构建一个可扩展的app、提高性能,并且改变你的特性。你将在Incorporating the Data中学到更多关于定义你自己的数据模型的知识。
Use the Right Resources
使用正确的资源
设计模式(Design patterns)是解决app中常见问题的最佳方式。使用设计模式来帮助你定义你的数据模型的结构和你的app中其他的交互作用。当你理解并使用正确的设计模式的时候,你能够更容易的创建一个简单、高效的app。你将在Using Design Patterns中学到更多的关于设计模式的内容。
当你开始实现你的模型,请记住你不必从头开始实现一切。有许多框架为你提供现成的功能。例如,基础框架( Foundation framework)包括基本数据类型的类——例如字符串和数字——以及储存其他对象的集合类。建议,尽可能的使用现有的框架类——或者他们的子类添加到你自己的app的特点——来取代视图重新实现它们的功能。通过这种方式,你能创建一个高效、实用、精致的app。你将在Working with Foundation中学到更多的关于基础框架的能力的知识。
通常,你需要编写你自己的自定义类来作为你的数据模型的一不分。编写自定义类给你如何组织app的界面结构提供完全控制。你将在Writing a Custom Class中学到关于创建自定义类的内容。
Incorporate Real Data
结合真实数据
当你第一次测试你的数据模型的时候,你或许想要使用静态或者假设的数据。通过这种方式,你不必担心关于应用真实数据知道你知道模型被正确组装和链接。在你定义数据模型正常工作之后,你可以把真实数据拉倒app中。
The remainder of this guide takes you through these steps in more detail. As you make your way through the app development process, you’ll learn the necessary conceptual material and then put it to use in the tutorials.本指导的其余不分带你完成这些步骤的更多细节。当你经过了整个app开发过程,你将学到必须的重要概念然后应用到这个教程中。
Tutorial: Basics
Designing a User Interface
Copyright 2014 Apple Inc. All rights reserved. Terms of Use | Privacy Policy | Updated: 2013-10-22