iOS開發庫的族譜介紹

作者: 搖滾詩人  來源: 博客園  發布時間: 2011-05-09 07:51  閱讀: 3433 次  推薦: 5   原文鏈接   [收藏]  

  Foundation/Core Foundation/Carbon/Cocoa/Cocoa Touch/Toll Free Bridging光看看這tm些名字就jb夠暈了,你是不是也看著這些東西惡心?你是不是也發現在你開發同樣一個功能的時候,從a庫也可以到達,從b庫也可以到達?雖然都能抓住老鼠,可是到底哪只貓是串兒?哪只貓是純種的波斯貓?

  本文就是對這些庫族譜的介紹。

  Foundation:Objective-C的核心庫。寫個Objective-C程序必須包含的庫。提供了Objective-C中基本的數據類型和服務。他其實是和Cocoa更加親密的,按照層次應該和Cocoa是一層。

  Core Foundation: 一個接近系統的C庫, 讓調用方可以方便的訪問系統級的內容。Foundation和Cocoa有其部分功能的封裝,這就是為什么完成同一件事有多種解決方案的起源。個人感覺這個比Foundation功能更強大,畢竟更貼近底層自然效率會高一些吧。而且后面會提到,Foundation為了更好的調用Core Foundation,還得和Toll Free Bridging交互。

  Carbon:這個跟iOS關系不大,在早期的Mac OS(X之前)必須用這個,提供了一些圖形庫和很多框架。

  Cocoa:這個是現在Mac OS X中才出現的新玩意, 和Carbon一塊在Mac OS X上出現。

  Cocoa Touch:是Cocoa在iOS上對應的庫,做了很多在移動平臺上的優化,比如把GC優化沒了,因為高效的GC是不符合移動平臺的風格的(因為用的是標記法,所以產生的內存碎片無法應對所有移動開發情況)。

  Toll Free Bridging:從名字可以看出是啥東西Bridge嘛,給Foundation和Core Foundation中間架個橋,以便調用。

  附上個圖以便理解:

以上有道聽途說,有個人理解。歡迎大家指正。

5
0
 
標簽:iOS
 
 

文章列表

arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()