`
天梯梦
  • 浏览: 13762076 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

从今天开始学习iOS开发(iOS 7版)-- 构建一款App之App开发过程 (二)

 
阅读更多

构建一款App之App开发过程

App开发过程

设计用户界面

定义交互

教程: Storyboard

 

(构建一款app一章中包含四个小节:App开发过程、设计用户界面、定义交互以及教程,本文是第一小节)

 

App开发过程

虽然开发一款app可能会令人心生畏惧,但这个过程可以被分为几个容易理解消化的部分。在你首次开发app的过程中,这些步骤将帮开启app开发之旅并为你指引正确的方向。 

 

定义概念

每款伟大的app都始于一个概念。

 

直达概念最有效的方法是思考你想通过app解决什么问题。伟大的app只解决一个定义明确的问题。比如设置应用程序允许用户调整设备上所有的设置,它为用户提供了单个界面来完成相关的设置任务。

 

以下直达概念需要考虑的一些关键问题:

1.你的用户是谁?应用程序的概念和体验将会根据你是要开发一款儿童游戏、一个to-do list应用还是一个学习测试app而所有不同。

 

2.应用程序的目标是什么?对app而言,有一个清晰的目标非常重要,而理解是什么因素促使用户使用app是界定应用程序目的的一部分。

 

3.你的应用要解决用户什么样的问题?一款app应当解决用户的单个问题,而不是为多个不同的问题提供解决方案。如果你发现你的应用程序正试图解决不相关的问题,那你可以能要考虑开发多个app了。

 

4.你的应用程序包含什么内容?考虑你的应用程序为用户提供什么内容,以及用户如何与之进行交互。通过用户界面设计对app呈现的内容类型进行补充。

 

在应用程序开发之初,app的概念并不需要多吸引人,也不需要是一个完整的概念,但可帮你厘清将要去往何方以及到达目的地所需的东西。

 

设计用户界面

在你有了app概念之后,创建一个成功应用程序的下一步就是设计一个优秀的用户界面。用户需要以最简单的方式与app进行交互。设计界面的时候要始终考虑到用户,并使界面保持高效、清晰以及简单直接。

 

在用户界面设计过程中,最大的挑战可能是把你的概念落实到设计当中,并实现该设计。为了简化这个过程,你可以使用storyboards。 Storyboards可以让你通过使用图形界面一步完成界面的设计与实现。你可以准确知晓当前正在创建的一切,对哪部分运行正常与否获得即时反馈,并对 界面进行即时可视化的改变。

 

使用storyboard创建用户界面,你就是在与views打交道,View就是用来向用户展示内容的。在Tutorial: Basics中你开始在storyboard场景中使用单个视图为ToDoList app创建用户界面。如果你要开发更为复杂的app,那你将使用更多场景和视图来创建用户界面。

 

Tutorial: Storyboards中,你将通过使用几个不同视图来展示不同类型的内容,从而为ToDoList app创建用户界面。你可以在“Designing a User Interface”中学习更多关于使用views和storyboards来设计和创建用户界面。

 

定义交互

如果没有逻辑支撑,一个界面并没有很大用处。创建界面后,你得通过代码来定义用户与界面的交互,并在界面上对用户的操作做出反馈。

 

在考虑为应用添加行为之前,理解iOS app是事件驱动编程非常重要。在事件驱动编程中,app的工作流由事件:系统事件或者用户操作来决定。用户在界面上执行操作会在app中触发事件。这些 事件会执行app的逻辑并进行数据处理,然后app对用户操作的响应会反馈到界面上。

 

 当定义用户与界面的交互时,你要把事件驱动编程牢记在心。因为用户在控制着何时执行app代码的特定部分,而不是开发者,你想要确定用户可以执行哪个操作,以及对这些操做给予什么样的反馈。

 

你在视图控制器中定义大部分事件响应逻辑。你可以在“Defining the Interaction”中学会更多关于使用视图控制器的内容。之后,你将会在Tutorial: Storyboards中,把这些概念应用于为ToDoList app添加功能和交互。

 

执行行为

在定义完用户可在app中执行的操作后,你需要通过代码实现这些行为。

 

为iOS app写代码,其实很多时候你是在与Objective-C编程语言打交道。你将在第三个模块学习更多关于Objective-C的内容,不过现在你需要 了解一些关于该语言的基本词汇术语。Objective-C是在C语言的基础上进行了扩充,并提供了面向对象的性能和dynamic runtime。你会在Objective-C中看到很多熟悉的元素,比如primitive types (int, float, and so on), structures, functions, pointers以及control flow constructs (while, if...else, and for statements).你也可以访问标准的C库例程,比如stdlib.h和stdio.h中的那些声明。

 

对象是app的建筑模块

当你创建iOS app时,你大部分时间都花在了使用对象上。

 

对象用相关行为来封装数据。你可以把应用程序当做一个包含相互连接的对象的大系统,这些对象相互沟通以解决某个特定问题,比如展示可视化的界面,响 应用户的输入,或者存储信息。你可以使用多个不同类型的对象来创建应用程序,从界面元素(比如按钮和标签),到数据对象(比如字符串和数组)。

 

类是对象的蓝图

类是对任何特定类型对象的行为和共同属性的描述。

 

多个以相同方式根据相同蓝图构建的building在结构上是完全相同的,类的每个实例和该类的其他实例共享相同的属性和行为。你可以编写自己的类,或者使用已经为你定义好的框架类。

 

你通过创建某个特定类的实例来创建对象。你可以通过可接受的默认值进行分配和初始化。当指定一个对象时,你要为对象留出足够的内存,并把所有实例变量设置为0。

 

Initialization设置一个对象的初始化状态--也就是说,它的实例变量和属性--至合理的值,并返回对象。初始化的目的是返回一个可用的对象。你需要指定和初始化一个对象,以便可以使用它。

 

Objective-C中的一个基本概念是类的继承,一个类继承了其父类的行为。当一个类继承自另一个类,那么子类继承了父类定义的所有行为和属性。子类可以定义自己额外的行为和属性,或者覆写父类的行为。所以你可以扩展类的行为,而无需复制类现有的行为。

 

对象通过信息进行通信

对象运行时通过互发信息进行交互。在Objective-C术语中,一个对象通过调用该对象上的方法来向另一个对象发送信息。

 

虽然有多个方法可在Objective-C对象之间发送信息,但目前最常用的方法是使用方括号的基本语法。如果你有一个XYZPerson类对象somePerson,你可以像下边这样给它发送sayHello信息。

  1. [somePerson sayHello]; 

下图左边是消息的接收者somePerson。右边sayHello是调用接收者的方法的名称。换句话说,当执行以上代码,somePerson将会接收到sayHello信息。

Protocol定义消息契约

protocol定义了一组在特定情况下的预期对象行为。protocol采用编程接口形式,一个任何类都可以选择实现的形式。使用protocol,两个通过继承关系较远的类能相互通信以完成某个特定的目标,比如解析XML代码或者复制对象。

为其他类提供有用行为的类可为匿名发送该行为声明编程接口。任何其他类可以选择采用protocol,利用行为实现一个或多个该协议的方法。

 

合并数据

在执行了应用行为后,你可以创建一个数据模型以支持app的界面。一款应用的数据模型定义了你在app中维持数据的方式。数据模型可以从对象的基本字典变成复杂的数据库。

 

你的应用程序的数据模型应该反映app的内容和目的。界面和数据之间应该有一个清晰的相关性,即便用户并不会直接与数据进行交互。

 

一个好的数据模型非常有利于为app创建一个坚实的基础。也让创建一个可扩展的应用变得更加简单,改善应用功能,并对应用特性做出更改。你将会在“Incorporating the Data”中学到更多关于定义数据模型的内容。

 

使用正确的资源

设计模式是解决应用程序中常见问题的最佳实践。使用设计模式可帮你明确数据模型的结构,以及其与app其他部分之间的交互。若理解并使用正确的设计模式,你就可以更加简单高效地创建应用。你将会在“Using Design Patterns”中学到更多关于设计模式的内容。

 

当你开始实现你的模型时,记住你无需从零实现每一步,已有大量框架为你构建自己的应用提供了既有的功能。例如Foundation框架包含了代表基 本数据类型的类--比如字符串和数字--以及储存其他对象的集合类。可能的话,推荐你使用既有的框架类--或者他们的子类来添加应用的功能--而不是视图 重新实现它们的功能,这样你就可以创建出一款高效的实用的精细的应用程序。你将在“Working with Foundation”中学习到更多关于Foundation框架的知识。

 

通常,你会编写自定义类作为数据模型的一部分。编写自定义类可以让你掌控如何组织应用的内部结构。你将在“Writing a Custom Class”中学会更多关于编写自定义类的知识。

 

合并真实数据

当首次测试数据模型时,你可能会想要使用静态或者伪造的数据。这种方法你不用担心要提供真实的数据,直到模型装配和连接正确。在定义好的数据模型正 常工作后,你就可以把真实数据置于应用中。该指南剩余的部分可以帮你遍历这些步骤中的每一个细节。随着你在“App Development Process”中的学习,你会在该教程中学会必要的概念并运用到实践中。

 

转自:http://www.cocoachina.com/newbie/basic/2014/0314/7974.html

 

分享到:
评论

相关推荐

    从零开始学iOS7开发系列教程-事务管理软件开发实战

    在本教程中,“从零开始学iOS7开发系列教程-事务管理软件开发实战”,我们将深入探索iOS应用开发,特别是针对iOS7系统。这个教程涵盖了从基础到进阶的多个方面,旨在帮助初学者掌握iOS7开发的核心技术,并通过实战...

    Object-Cios苹果app开发入门object-c例子demo14个实例 一般编程问题

    ios苹果app开发入门,object-c,例子,demo,14个实例 初学者难得的学习实例 【实例截图】 【核心代码】 归档 ├── AirPrinter │ ├── AirPrinter │ │ ├── AirPrinter-Info.plist │ │ ├── AirPrinter...

    IOS开发指南(第5版) pdf下载地址

    《iOS开发指南(第5版)》是一本深入探讨iOS应用程序开发的专业书籍,旨在帮助开发者从零基础到熟练掌握Apple的移动操作系统上的应用构建过程。该书第五版更新了最新的开发技术和工具,确保读者能够使用最新的Xcode和...

    苹果iOS app开发之更新升级app的办法.zip

    - `iOS开发 判断当前APP版本和升级.url`:这个链接可能指向一个教程,详细解释如何在代码中判断和处理版本更新。 - `苹果app不能出现 当前版本 字样.txt`:文件可能列出苹果关于此规定的详细信息。 - `iOS开发 ...

    基于uni-app,一次开发,同时打包成Android版app、iOS版app、H5版.zip

    "基于uni-app,一次开发,同时打包成Android版app、iOS版app、H5版"的主题,就是针对这一需求提出的一种解决方案。uni-app是一个由Egg.js团队维护的开源框架,它允许开发者使用Vue.js语法编写代码,然后将项目编译到...

    iOS开发之一句代码检测App版本的更新

    在iOS应用开发中,定期检测并提示用户更新App版本是保持应用活跃度和用户体验的重要环节。下面我们将深入探讨如何在iOS应用中实现这一功能,并通过一句代码实现版本检测与更新跳转。 首先,我们需要理解iOS的App ...

    IOS开发指南 从HELLO WORLD到APP STORE上架 第5版.z02

    IOS开发指南 从HELLO WORLD到APP STORE上架 第5版.z02

    iOS开发进阶-完整版

    根据提供的信息,我们可以推断出这是一本关于iOS开发进阶的书籍,作者为唐巧。...无论是对于想要深入了解iOS开发细节的专业人士还是对于希望通过系统学习进入该领域的初学者来说,都是一本非常有价值的参考书籍。

    IOS开发指南 从HELLO WORLD到APP STORE上架 第5版.pdf.z01

    IOS开发指南 从HELLO WORLD到APP STORE上架 第5版.pdf

    Delphi XE8 iOS与Android移动应用开发(APP开发)[完整中文版]

    Delphi XE8 iOS与Android移动应用开发(APP开发)[完整中文版],这是一本不可多得的介绍使用delphi xe8开发iOS与Android移动应用的电子书,实用的技术开发教程与技术开发手册。 Delphi XE8跨平台开发让你使用一套...

    《app-dev-curriculum-cn》 iOS playground文件 IOS 学习实战 swift

    《app-dev-curriculum-cn》是针对iOS应用开发的一份详细教程,主要使用Swift编程语言进行讲解。这份资源包含了丰富的playground文件,旨在帮助学习者通过实践来深入理解iOS开发的关键概念和技术。Playgrounds在Xcode...

    iOS开发指南 从Hello World到App Store上架 第4版

    《iOS开发指南:从Hello World到App Store上架 第4版》是一本全面介绍iOS应用开发的书籍,旨在帮助开发者从零基础开始,逐步掌握创建iOS应用并将其发布到App Store的所有步骤。作为第四版,它反映了最新的iOS开发...

    IOS应用源码Demo-麻将连连看-毕设学习.zip

    【标题解析】:“IOS应用源码Demo-麻将连连看-毕设学习.zip”这个标题表明这是一个关于iOS平台的应用程序源代码示例,具体是“麻将连连看”游戏的实现。"Demo"通常指的是演示或示例,适用于学习和理解如何在iOS环境...

    IOS APP开发 微博 Xcode

    在iOS应用开发中,微博应用的构建是一个典型的案例,它涉及到多个关键技术点,包括使用Xcode作为集成开发环境(IDE),Objective-C或Swift编程语言,以及Apple的UIKit框架。下面我们将详细探讨这些知识点。 首先,...

    iOS开发指南:从零基础到App Store上架

    《iOS开发指南:从零基础到App Store上架》是一本专为初学者设计的教程,旨在引导读者从对iOS开发一无所知到能够成功将应用程序发布到App Store。本书全面覆盖了iOS开发的核心概念、工具和技术,是踏入iOS开发领域的...

    ios苹果app开发入门object-c例子demo14个实例

    在iOS应用开发领域,Object-C是苹果官方早期推荐的编程语言,尽管现在Swift已经更为流行,但许多现有的代码库和教程仍然基于Objective-C。对于初学者来说,掌握Object-C的基本语法和特性是至关重要的,特别是在探索...

    IOSAPP开发环境搭建指南-Windows系统

    ### IOS APP开发环境搭建指南(Windows...通过上述步骤,您可以在Windows系统下搭建一套完整的iOS应用开发环境,实现从开发到测试再到最终提交的全过程。这不仅节省了购买Mac硬件的成本,也提高了跨平台开发的灵活性。

    ios开发详解markdown格式

    它包含了创建、编译和调试应用所需的一切工具和框架,是iOS开发的核心工具之一。 - **Swift**:Swift是一种强类型、编译型的编程语言,由苹果公司在2014年推出。它被设计用来提高开发者的生产力,并逐渐成为iOS开发...

    iOS开发指南 从Hello World到App Store上架

    iOS开发指南 从Hello World到App Store上架 第4版 。

    IOS应用源码Demo-电子书阅读器 - iOS PDF Reader-毕设学习.zip

    【标题】"IOS应用源码Demo-电子书阅读器 - iOS PDF Reader-毕设学习.zip" 是一个专门针对iOS平台的电子书阅读器应用程序的源代码示例,它旨在帮助学生进行毕业设计学习。这个项目可能包含了一个完整的PDF阅读器应用...

Global site tag (gtag.js) - Google Analytics