Cocoa是在Mac OS X系統(tǒng)上原生的一個(gè)編譯環(huán)境。他包含兩個(gè)框架,其實(shí)就是一系列的類庫(kù),F(xiàn)oundation和AppKit。
在你的iPhone等掌上設(shè)備上,使用的則是他的一個(gè)子類 - Cocoa Touch 。他所支持的Foundation框架與Cocoa相同,但他的用戶圖形類庫(kù)為UIKit,它是為掌上設(shè)備特殊設(shè)計(jì),提供了你設(shè)備上的界面。
Cocoa與Cocoa Touch的區(qū)別是本文要介紹的內(nèi)容,Cocoa Touch與Cocoa一個(gè)比較鮮明的區(qū)別就是Cocoa Touch并不支持垃圾回收機(jī)制,這就意味著你必須在你的代碼里管理好你的內(nèi)存。而Cocoa與Cocoa Touch共同點(diǎn)就是二者都包含Objective-C運(yùn)行時(shí)和兩個(gè)核心框架:
·Cocoa包含F(xiàn)oundation和AppKit框架,可用于開發(fā)Mac OS X系統(tǒng)的應(yīng)用程序。
·Cocoa Touch包含F(xiàn)oundation和UIKit框架,可用于開發(fā)iPhone OS系統(tǒng)的應(yīng)用程序。
·Cocoa是 Mac OS X 的開發(fā)環(huán)境,Cocoa Touch是 iPhone OS的開發(fā)環(huán)境。
框架
Foundation框架實(shí)現(xiàn)了NSObjec類(即根類),這個(gè)類定義基本對(duì)象行為。此外,該框架還實(shí)現(xiàn)了用于表示基本類型(例如,字符串和數(shù)字)和群體類型(例如,數(shù)組和字典)的類,同時(shí)也提供一些基本工具,例如用于化、對(duì)象持久化、文件管理以及XML處理的工具。你還可以使用Foundation框架中的類訪問底層系統(tǒng)的實(shí)體和服務(wù),例如可以用它來訪問端口、線程、鎖和進(jìn)程。Foundation框架以Core Foundation框架為基礎(chǔ),Core Foundation框架提供的是過程化(ANSI C)接口。
你可以使用 AppKit 和UIKit 框架開發(fā)應(yīng)用程序的用戶接口。二者用途相同,但是針對(duì)平臺(tái)不同?蚣苤械念惡芏啵饔胁煌猛荆河械挠糜谑录幚、有的用于畫圖、有的用于圖像處理、有的用于文本處理、有的用于用戶排版、還有用于應(yīng)用程序間數(shù)據(jù)傳輸?蚣苤羞包含表視圖、滑動(dòng)條、按鍵、文本字段以及警告對(duì)話框等用戶接口元素。
編程語(yǔ)言
Objective-C是開發(fā)Cocoa和Cocoa Touch應(yīng)用程序的本地語(yǔ)言,也是重要的語(yǔ)言。但是Cocoa和Cocoa Touch應(yīng)用程序也可以包含C++和ANSI C代碼。另外,你也可以使用橋接Objective-C運(yùn)行時(shí)的腳本語(yǔ)言—例如PyObjC和RubyCocoa—開發(fā)Cocoa應(yīng)用程序。
|