您好,歡迎來(lái)到一站式眾包服務(wù)平臺(tái)-威客牛網(wǎng)!
當(dāng)前位置:威客牛首頁(yè) > 知識(shí)百科 > IT軟件 > App開(kāi)發(fā) > iOS 開(kāi)發(fā)規(guī)范和框架

iOS 開(kāi)發(fā)規(guī)范和框架

2022-12-04作者:網(wǎng)友投稿
iOS為應(yīng)用程序開(kāi)發(fā)提供了許多可使用的框架,并構(gòu)成IOS操作系統(tǒng)的層次架構(gòu),分為四層,從上到下依次為:Cocoa Touch Layer(觸摸UI層)、MediaLayer(媒體層)、Core Services Layer(核心服務(wù)層)、Core OS Layer(核心OS層)。以下是贏在威客網(wǎng)小編整理的iOS 開(kāi)發(fā)規(guī)范和框架。

低層次框架提供IOS的基本服務(wù)和技術(shù),高層次框架建立在低層次框架之上用來(lái)提供更加復(fù)雜的服務(wù)和技術(shù),較高級(jí)的框架向較低級(jí)的結(jié)構(gòu)提供面向?qū)ο蟮某橄蟆?br />
在開(kāi)發(fā)應(yīng)用時(shí)應(yīng)盡可能使用較高級(jí)的框架。如果要開(kāi)發(fā)的國(guó)內(nèi)在高層框架中沒(méi)有提供,你也可以使用較低層框架和技術(shù)。


Foundation和 UIKit框架是應(yīng)用編程用到的兩個(gè)主要的框架,能夠滿足大多數(shù)應(yīng)用程序的開(kāi)發(fā)需求。

UIKit框架提供的類,用于創(chuàng)建基于觸摸的用戶界面。所有 iOS 應(yīng)用程序都是基于 UIKit, 沒(méi)有這個(gè)框架,就無(wú)法交付應(yīng)用程序。UIKit提供應(yīng)用程序的基礎(chǔ)架構(gòu),用于在屏幕上繪圖、處理事件,以及創(chuàng)建通用用戶界面及其中元素。UIKit還通過(guò)管理屏幕上顯示的內(nèi)容,來(lái)組織應(yīng)用程序。

Foundation框架為所有應(yīng)用程序提供基本的系統(tǒng)服務(wù)。應(yīng)用程序以及 UIKit和其他框架,都是建立在 Foundation 框架的基礎(chǔ)結(jié)構(gòu)之上。 Foundation框架提供許多基本的對(duì)象類和數(shù)據(jù)類型,使其成為應(yīng)用程序開(kāi)發(fā)的基礎(chǔ)。它還制定了一些約定(如用于取消分配等任務(wù)),使代碼更加一致,可復(fù)用性更好。

CocoaTouch Layer包含創(chuàng)建ios應(yīng)用關(guān)鍵的框架。該層包含的框架定義應(yīng)用的外觀,也提供基本的應(yīng)用基礎(chǔ)和關(guān)鍵的技術(shù)支持,例如多任務(wù)、觸摸輸入、推送通知和許多其它的高級(jí)系統(tǒng)服務(wù)。在開(kāi)發(fā)應(yīng)用時(shí),應(yīng)當(dāng)首先研究該層的技術(shù)和技術(shù)看是否能夠滿足需要。

Cocoa Touch Layer包含如下關(guān)鍵技術(shù)

1).AirDrop


AirDrop允許用戶與附近設(shè)備共享圖片、文檔、urls鏈接以及其它種類的數(shù)據(jù)。

2)、Text Kit

TextKit是處理文本和排版的一個(gè)全功能、高級(jí)別的類集合。使用Text Kit你能在段落、列或者頁(yè)上對(duì)帶有風(fēng)格的文本進(jìn)行布局;也能在任意區(qū)域(如圖形)周圍布局流動(dòng)的文本;還能用它來(lái)管理多種字體。

開(kāi)發(fā)應(yīng)用時(shí)應(yīng)該首先考慮使用Text Kit來(lái)進(jìn)行文本呈現(xiàn),而不是Core Text。Text Kit與所有UIKit中的基于文本的控制集成允許應(yīng)用更容易地創(chuàng)建、編輯、顯示和存儲(chǔ)文本。

3)、UIKit Dynamics


UIKit dynamics用來(lái)為符合UIDynamicItem協(xié)議的UIView對(duì)象或其它對(duì)象規(guī)定動(dòng)畫(huà)行為。通過(guò)在應(yīng)用的UI中集成真實(shí)世界行為和特性進(jìn),動(dòng)畫(huà)行為為應(yīng)用提供了一種增強(qiáng)用戶體驗(yàn)的方式。

4)、Multitasking

在ios中多任務(wù)用來(lái)設(shè)計(jì)來(lái)使電池使用時(shí)間最大化。

5)、Auto Layout

自動(dòng)布局幫助你使用非常少的代碼來(lái)建立動(dòng)態(tài)接口。

使用AutoLayout定義如何在用戶接口上布局元素的規(guī)則,這些規(guī)則表達(dá)了視圖類之間的關(guān)系,如規(guī)定一個(gè)按鈕總是處于它的父窗口的左邊緣20個(gè)點(diǎn)。

在Auto Layout中使用的實(shí)體是被稱為constraints的Objective-C對(duì)象。

6)、Storyboards

串聯(lián)圖 是設(shè)計(jì)應(yīng)用用戶接口的推薦方式。串聯(lián)圖讓你在一個(gè)地方就能夠設(shè)計(jì)全部的用戶接口,方便在一個(gè)位置看到所有的視圖和視圖控制器以及理解它們是如何一起工作的。串聯(lián)圖的一個(gè)重要的部分是定義segues(segues是從一個(gè)視圖控制器到另一個(gè)的轉(zhuǎn)換)。這些轉(zhuǎn)換代表用戶接口之間的交互。你可以使用XCOE來(lái)可視的定義這些轉(zhuǎn)換或者通過(guò)編程啟動(dòng)它們。

你能使用一個(gè)單串聯(lián)圖文件來(lái)存儲(chǔ)所有的應(yīng)用視圖控制器和視圖,或者使用多個(gè)視圖串聯(lián)圖文件來(lái)組織用戶接口。

在應(yīng)用建立時(shí)間,Xcode讀取串聯(lián)圖文件的內(nèi)容并把它分成多個(gè)能獨(dú)立加載的離散的片斷,以便獲得更好的性能。UIKit框架提供了相應(yīng)的類來(lái)從程序中存取一個(gè)串聯(lián)圖的內(nèi)容。

7)、UI State Preservation

UI狀態(tài)保存能夠使應(yīng)用表現(xiàn)的一直運(yùn)行,從而為用戶提供無(wú)縫的體驗(yàn)。如果系統(tǒng)遇到內(nèi)存壓力,系統(tǒng)可能安靜地強(qiáng)制停止一個(gè)或多個(gè)后臺(tái)應(yīng)用。

當(dāng)應(yīng)用從前臺(tái)移到后臺(tái)時(shí),該服務(wù)能保存應(yīng)用的視圖和視圖控制器的狀態(tài)。在下次應(yīng)用重新啟動(dòng)時(shí),能夠使用先前保存的狀態(tài)信息來(lái)恢復(fù)視圖和視圖控制器到它們先前的配置,使應(yīng)用表現(xiàn)得好像一直在運(yùn)行。

8)、Apple Push Notification Service

蘋(píng)果的推送通知服務(wù)提供了一種提示用戶關(guān)于新信息的方式,即使應(yīng)用當(dāng)前不在激活運(yùn)行狀態(tài)。

使用該服務(wù),你能推送文本通知,在應(yīng)用圖標(biāo)上增加一個(gè)標(biāo)記或者在任意時(shí)間觸發(fā)聲音提示。

這些消息讓用戶知道他們應(yīng)該打開(kāi)應(yīng)用來(lái)接收相關(guān)信息。自Ios7開(kāi)始,你甚至能推送無(wú)聲的通知來(lái)讓?xiě)?yīng)用知道有了新的內(nèi)容可以下載。

為了使用IOS應(yīng)用的推送通知,用戶需要做兩部分的工作。首先應(yīng)用必須登記該通知服務(wù)以及在通知被提交時(shí)處理相關(guān)的通知數(shù)據(jù)。第二,你必須提供一個(gè)服務(wù)端的進(jìn)程來(lái)產(chǎn)生通知。

服務(wù)端的進(jìn)程可以使用你自己的本地服務(wù)器或者使用蘋(píng)果的推送通知服務(wù)。

9)、Local Notifications

本地通知作為推送通知機(jī)制的補(bǔ)充,可以給應(yīng)用提供一種不依賴外部服務(wù)器產(chǎn)生本地通知的方式。

運(yùn)行在后頭的應(yīng)用能使用本地通知作為當(dāng)重要的事件發(fā)生時(shí)引起用戶注意的一種方式。例如,運(yùn)行在后臺(tái)的導(dǎo)航應(yīng)用能使用本地通知來(lái)提示用戶什么時(shí)間該轉(zhuǎn)彎了。

應(yīng)用也能調(diào)度本地通知在將來(lái)的時(shí)間提交以及使那些通知在應(yīng)用不運(yùn)行也能被提交。

本地通知的一個(gè)優(yōu)點(diǎn)是它們與你的應(yīng)用是獨(dú)立的。在一個(gè)通知已被調(diào)度,系統(tǒng)管理它的提交。另外當(dāng)通知被提交時(shí)你的應(yīng)用甚至不必運(yùn)行。

10)、Gesture Recognizers

手勢(shì)識(shí)別用來(lái)檢測(cè)通常類型的手勢(shì)。由于手勢(shì)識(shí)別使用與系統(tǒng)檢測(cè)手勢(shì)相同的試探方法,因此手勢(shì)識(shí)別為應(yīng)用提供了一個(gè)一致的行為。為了使用它,你能在你的視圖上附加手勢(shì)識(shí)別功能和并給它提供一個(gè)在手勢(shì)出現(xiàn)時(shí)要執(zhí)行的方法。

手勢(shì)識(shí)別跟蹤原始的觸摸事件和確定它們什么時(shí)候與想要的手勢(shì)匹配。

11)、System View Controllers

許多系統(tǒng)框架為標(biāo)準(zhǔn)的系統(tǒng)接口定義了視圖控制器。只要有可能,為了呈現(xiàn)一致的用戶體驗(yàn),就應(yīng)該使用系統(tǒng)提供的視圖控制器而不是創(chuàng)建一個(gè)新的。
免費(fèi)查詢商標(biāo)注冊(cè)