在剛剛要接觸iPhone應用程序開發(fā)時,往往都對iPhone應用程序開發(fā)無從下手,今天我們就來和大家探討一下iPhone應用開發(fā)必知必會三大的基礎。首先,第一節(jié)大家都知道應該就是:“HelloWorld”!
◆MAC系統介紹
◆Xcode開發(fā)環(huán)境介紹
◆Cocoa框架介紹
什么是MAC?
◆MAC系統是蘋果機專用系統,正常情況下在普通pc上無法安裝的操作系統
◆MAC壁紙
蘋果公司不但生產MAC的大部分硬件,連MAC所用的操作系統都是它自行開發(fā)的,接下來,我們就來了解一下它的操作系統。
蘋果機現在的操作系統已經到了OS 10,代號為MAC OSX(X為10的羅馬數字寫法),這是MAC電腦誕生15年來最大的變化。新系統非??煽?,它的許多特點和服務都體現了蘋果公司的理念。
另外,現在瘋狂肆虐的電腦病毒幾乎都是針對Windows的,由于MAC的架構與 Windows不同,所以很少受到病毒的襲擊。MACOS X操作系統界面非常獨特,突出了形象的圖標和人機對話(圖形化的人機對話界面最初來自施樂公司的PaloAlto研究中心,蘋果借鑒了其成果開發(fā)了自己的圖形化界面,后來又被微軟的Windows所借鑒并在Windows中廣泛應用)。蘋果公司能夠根據自己的技術標準生產電腦、自主開發(fā)相對應的操作系統,可見它的技術和實力非同一般。打個比方,蘋果公司就像是Dell和微軟的聯合體,在軟硬件方面“才貌雙全”。
什么是Xcode?
Xcode是Apple自己開發(fā)的,只運行在Mac OS X平臺下的IDE。如果你想真正了解Mac OSX平臺上的開發(fā),就應該了解它。當然,Mac OSX實現了POSIX,固然也支持傳統的UNIX編程環(huán)境;Eclipse等Java開發(fā)工具也有Mac OSX版。不過這些,你在Linux或者Windows平臺也能體驗到。Xcode也并不神秘,Apple并沒有自己特有的編譯器(盡管Mac上的Gcc是經蘋果修改過的版本),創(chuàng)建項目的時候,Xcode還是會生成并執(zhí)行一條條的Gcc和ld的命令。所以如果你有足夠的UNIX經驗(并且知道到哪里找需要用的Framework),完全可以在命令行編譯一個完整的Cocoa應用程序。
其實Xcode提供了很多功能,使你無論在創(chuàng)建項目、設計、修改代碼還是編譯等各個環(huán)節(jié)都能收益,恐怕你很難找到一個不使用它的理由。事實上,自從MacOS 10.4引入了UniversalBinary的概念以后,Xcode幾乎成為了大多數Mac開發(fā)者的唯一選擇。不用擔心的是Xcode是免費的,只要你有一臺Mac,隨機帶的安裝盤里就有Xcode,升級是免費的(不過如果你用的是MacOS 10.5以前版本的OS,你將不能運行Xcode 3.0或以上的版本)。
什么是Cocoa?
Cocoa Framework簡稱Cocoa,它是Mac OS X上的快速應用程序開發(fā)(RAD, RapidApplication Development)框架,一個高度面向對象的(ObjectOriented)開發(fā)框架。無論您是資深的Mac開發(fā)人員,還是即將踏入Mac開發(fā)世界的新新人類,Cocoa都是您開發(fā)應用程序的瑞士軍刀、樂高積木,它是您構建MacOSX應用程序最強大、最高效的工具。值得一提的是,蘋果公司之所以能夠開發(fā)出眾多頂級軟件,其實也正是因為有著Cocoa這個秘密武器。Cocoa是MacOS X上原生支持的應用程序開發(fā)框架,蘋果公司強烈推薦所有Mac開發(fā)人員使用。
骨灰話題:Hello World!
相信對于任何一個開發(fā)人員,Hello World!都應該是個熟悉無比的東西。那么,Cocoa的HelloWorld!程序您看得懂么?
首先,和絕大多數您所見過的C程序一樣,任何一個Cocoa應用程序都有一個主函數:
int
主函數是應用程序的主入口,也是一切開始和結束的地方。是的,沒錯!從表面上看,這些代碼和常見的C程序的代碼沒有什么區(qū)別,而且事實上,它們和C程序的代碼的的確確沒有什么區(qū)別。
接下來你該問我,那什么是Foundation?Foundation.h里裝的又是什么?什么是NSAutoreleasePool?那些中括號又是什么?......別急,在后續(xù)的幾章里我們會慢慢把這么多陌生的面孔熟悉起來,當然我也可以現在就大致的解釋一下:
Foundation全稱FoundationFramework,是Cocoa的一個子開發(fā)框架。Foundation里包含了Cocoa中最基本的一些類,它們在一個Mac應用程序中通常負責對象管理、內存管理、容器等相關數據結構的操作。Foundation.h是Foundation的頭文件,一旦引入了這個頭文件,我們就可以在自己的程序里使用任何在Foundation里聲明的類。例如在上述代碼中,NSAutoreleasePool就是Foundation中聲明的一個類,它為應用程序提供可控制的延遲對象釋放的內存管理。至于那些方括號,它們是Objective-C里最最基本的語法成分,一對方括號中間的內容表示對對象(或類)進行一次方法的調用。
如果您沒有聽明白,請不要驚慌失措,咱們在下面的幾章里慢慢說。另外,Cocoa的國際音標是['koukou]希望大家能把這個單詞的音讀對。
Objective-C其實很C
在使用Cocoa進行應用程序開發(fā)的時候,Objective-C是我們首選的語言。(當然,Cocoa也通過官方、第三方等途徑,構建了Cocoa-Ruby、Cocoa-Python等編程語言上的橋接,使無論是來自Ruby還是Python世界的開發(fā)人員能夠使用他們熟悉的語言快速上手。)不過在這里,我們還是要首推Objective-C作為一個Cocoa程序的開發(fā)語言,原因有二:
其一、Objective-C實際上是C的超集。
Objective-C的運行環(huán)境庫(RuntimeLibrary)完全是由C編寫的,因此任何一個Objective-C消息派發(fā)(MessageDispatching),都會被替換成Objective-C運行環(huán)境中的某個或某幾個C函數的調用。這種機制為Objective-C帶來了高效的消息派發(fā)和對C代碼完全原生的兼容。
其二、整個Cocoa Framework都是由Objective-C/C實現的。
因此在開發(fā)一個Cocoa應用程序的時候,Objective-C是我們不二的選擇。
當我們說到“Objective-C”的時候,盡管編程模型和C不同,盡管語法看似有些奇怪,但事實我們所討論的依然還是C語言。因為Objective-C確實是C,說的簡單些:
Objective-C就是擁有一個面向對象層(Object OrientedLayer)的C。而Objective-C正是通過從Smalltalk進化而來的這種語法,實現了對這個面向對象層的支持。因此如果您正在使用Objective-C開發(fā)一個Cocoa應用程序,同時又希望在某些代碼的某些位置插入一些C代碼,那就請放心大膽的繼續(xù)吧!
轉自:http://hi.baidu.com/chenyangxin/blog/item/a201ba8b96a1e96d9e2fb4ee
聯系客服