NO IMAGE

什麼是Cocoa?

NeXTSTEP(以Unix作為核心的作業系統)內建的許多庫(libraries)和工具,讓程式設計師以一種優雅的方式與視窗管理器進行互動,這些libraries叫做Framework,在1993年這些frameworks和工具被重新修改並重新命名為
OpenStep,後來被重新命名為Cocoa(大家應該知道為什麼Cocoa的類都有著NS的字首了吧)

那麼這些libraries是什麼呢?

通常是一些可能一起使用的類集合,這些類被一起編譯成可複用的程式碼庫(libraries)

什麼是Xcode?

Cocoa開發用到的所有工具都作為Mac OS X Developer Tool的一部分一起提供給使用者,你可以從Mac OS  X安裝盤中免費的得到它們。雖然Mac OS X Developer Tool將會在你的系統中新增許多有用的程式。但是我們將主要使用這兩個程式:Xcode 和 Interface Builder。而在這些IDE內部,gcc作為編譯器來編譯程式碼,gdb來除錯。

     Xcode掌控應用程式中所有使用到的資源,程式碼,圖片,聲音等等.你只要在Xcode中編寫程式碼,由Xcode來編譯和執行你的程式。同時Xcode也能呼叫和控制偵錯程式。

       Interface Builder是一個GUI構建工具,通過它你可以建立視窗布局並且把各個元件新增到視窗中,Interface Builder使程式設計師能方便的建立各種物件並編輯它們的屬性,這些物件多數是使用者介面元件,比如按鈕和文字輸入框,但是也可以是你自定義的物件

什麼是FrameWork?

 FrameWork是一些類的集合,通常是一些可能一起使用的類集合.換句話說,這些類被一起編譯成可複用的程式碼庫(library of code)。所有相關的資源和程式碼庫一起放入一個帶副檔名“.framework”的目錄(Mac OSX bundle 的概念可以參考蘋果的一些文件). 系統自帶的framework可以在/System/Library/Frameworks找到.

Cocoa有3個framework組成

          1. Foundation: 所有的面嚮物件語言都會有一些標準結構: value , collection , String, dates, lists, thread等等.所有的這些都在Foundation framework裡面(可以對比C 的STL)

          2. Appkit: 所有和使用者介面相關的類都在這裡. Windows,buttons,text field, event, drawing. 它還有個名字: ApplicationKit

          3. Core Data: Core Data可以方便的讓你把你的物件儲存成檔案,或是從檔案中載入你的物件.

          當然Mac OSX 開發包還提供了其他的很多framework. 比如QuickTime, CD 燒錄等等. 這本書我們只關注上面提到的3個基本framework. 一旦你掌握了這些基本framework.你將會更容易理解其他的framework.(cocoa 只是MacOSX的一個開發環境,它提供基本的開發Max OSX應用程式的SDK. 當然如果你要開發某種特定的應用,你可以需要使用Apple提供的其他SDK. 例如要開發播放DVD的程式.你可能會使用到DVDPlayback.framework.它甚至是C 介面的)

          當然,你也可以建立你自己的framework. 一個典型的例子,當相同的類被好幾個應用程式使用的時候.你可能會扔給他們一個framework.

 

 小結:

        Framework是一個類庫;

        Cocoa是三個Framework的合集;

        Xcode是一個整合開發環境。

補充小知識:

IDE 整合開發環境

  較早期程式設計的各個階段都要用不同的軟體來進行處理,如先用字處理軟體編輯源程式,然後用連結程式進行函式、模組連線,再用編譯程式進行編譯,開發者必須在幾種軟體間來回切換操作。現在的程式設計開發軟體將編輯、編譯、除錯等功能整合在一個桌面環境中,這樣就大大方便了使用者。

  整合開發環境(簡稱IDE Integrated Develop Environment )是用於提供程式開發環境的應用程式,一般包括程式碼編輯器、編譯器、偵錯程式和圖形使用者介面工具。就是整合了程式碼編寫功能、分析功能、編譯功能、除錯功能等一體化的開發軟體服務套。所有具備這一特性的軟體或者軟體套(組)都可以叫做整合開以環境。如微軟的Visual
Studio系列,Borland的C Builder、Delphi系列等。該程式可以獨立執行,也可以和其它程式並用。例如,BASIC語言在微軟辦公軟體中可以使用,可以在微軟Word文件中編寫WordBasic程式。IDE為使用者使用Visual Basic、Java和PowerBuilder等現代程式語言提供了方便。 不同的技術體系有不同的IDE。比如visual studio.Net可以稱為C 、VB、C#等語言的整合開發環境,所以visual studio.Net可以叫做IDE。同樣,Borland的JBuilder也是一個IDE,它是Java的IDE。zend
studio、editplus、ultraedit這些,每一個都具備基本的編碼、除錯功能,所以每一個都可以稱作IDE。

  IDE有三項必須整合的基本功能:“編輯器”、“編譯/連結器”、“偵錯程式”。還有一些更強大的功能,如:程式碼提示、專案管理、介面設計、建模功能