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