您好,登錄后才能下訂單哦!
App Development Process
應用程序開發流程
雖然開發一個應用程序的工作看上去讓人生畏,但是這個過程可以被簡化成幾個簡單的步驟。下面的這些步驟將幫助你開始和指導你在開發你的第一個應用程序的時候有正確的方向。
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。