網路城邦
上一篇 回創作列表 下一篇   字體:
Cocoa是什麼?
2011/02/15 06:36:34瀏覽1602|回應0|推薦2

這裡的Cocoa,不是指可可,而是指程式設計的架構(frameworks)。要解釋它,就要談到一點點歷史……

 

話說以前有兩個名叫 Steve的人,在車庫中創立了一間公司,這公司叫做蘋果電腦。這間公司成長很快,後來請來一位具有經營公司經驗的John Scolley來做這間公司的CEO。然後John Scolley把Steve Jobs調到一做不能控制公司的職位去,於是Steve Jobs離開蘋果電腦,自已成立一間電腦公司,叫未來電腦(NeXT Computer)。

 

未來電腦公司的工程師們後來研發推出了一台電腦、一台印表機、一個作業系統、一套程式開發工具,並且擁有一間工廠。這些東西在當時都是最先進的玩意,但是叫好不叫座,未來電腦沒能賣出多少電腦、印表機。在1993年,工廠關閉了,而未來電腦則改名成未來軟體(NeXT Software)。

 

他們的作業系統和程式開發工具以NeXTSTEP的名稱銷售,但當時也沒有多少電腦用戶聽過這個玩意,只有一些族群,如科學研究者、投資銀行或人工智慧等相關人士之間流行起來,因為這些人發現用NeXTSTEP,他們較容易開發出應用程式,且將構想轉變成應用軟體的速度也較快。

 

這個作業系統是什麼呢?具有微核心Mach的BSD Unix,它最大的優點是非常穩定,而且具有強大的網路功能。另外未來公司特別開發了一個window server,專來用來繪圖且可和應用程式溝通。window server就像其他Unix的X window一樣,但是window server的畫面(繪圖)表現的非常好,超過X window很多。

 

window server和應用程式是如何溝通呢?主要是window server 將使用者觸發的訊息(events)如鍵盤、滑鼠等的訊號傳給應用程式,而應用程式則傳回繪圖(drawing)的訊息給window server,然後window server在電腦螢幕上呈現drawing的畫面。

 

這兩者之間的溝通,未來軟體的開發的工具中有許多的程式碼用來做這些工作,它們被整理成為架構,這個架構、工具被命名為OpenStep,不久後更名為 Cocoa 。這些Cocoa的程式碼,是用Objective-C的電腦語言寫的。Objective-C就是C語言再加上一點物件導向的調料,其實非常容易學習上手。

 

後來蘋果電腦也有新的作業系統開發計劃,也參照NeXTSTEP來開發,但後來蘋果電腦還是把NeXT 買下來(1996年12月),直接將NeXTSTEP搬到Mac OSX中。然後從OSX,到iOS,都是循著NeXTSTEP的模式開展的,Objective-C這門程式語言,也是由蘋果電腦在發展。

 

Cocoa的架構,主要分成Foundation 和 AppKit (UIKit)。Foundation 是基本的物件如字串、時間、排列等等,而AppKit則是螢幕上面呈現的東西如視窗、按鈕、選單等。

( 知識學習其他 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=paraquat&aid=4885722