Cocoa名字由來?

Mac OS X上五大API之一——Cocoa名字是有什麼樣的故事呢?


喬布斯被趕出蘋果公司後,開了下一個公司叫NeXT。NeXT採用了Objective-C語言,開發出一套面向對象、多媒體的系統叫NeXTSTEP。NeXT和Sun公司一起,根據NeXTSTEP當中最核心的軟體框架制定出OpenStep API。而當時蘋果公司中有個研究組,叫Advanced Technology Group (ATG) 。ATG有個項目叫KidSim,讓小孩子使用可視化的方式來學習編程,Kid就是小孩,Sim表示simulation。後來Kurt Schmucker擔任KidSim的項目經理,將項目改名成Cocoa。同時Cocoa這個名字被蘋果註冊了商標。

蘋果公司後來收購了NeXT,喬布斯回歸。喬布斯回歸後畫四象限圖,分普通用戶和專業用戶,桌面電腦和筆記本電腦,將其它產品線都砍了。因此ATG也就關閉了,Cocoa項目也就停掉了。

後來,蘋果公司分成兩組人來同時競爭開發新的Mac OS系統。基於舊的Mac OS 9來開發的新系統,稱為藍盒;基於NeXTSTEP來開發的新系統,稱為黃盒。最後黃盒勝出,成了Mac OS X, 其中X是羅馬數字十的意思。OpenStep中很多API也就被引進新系統中,形成新的Mac OS X開發框架。Cocoa這個名字早已被註冊了商標,復用以前的商標總要比註冊新的商標容易,因此為新的開發框架命名的時候,就直接使用Cocoa。

再後來,Mac OS X升級,一直到現在的10.10,現在Mac OS X也直接改名成OS X了。當年開發iPhone的時候,新的軟體系統也面臨兩種選擇,一種基於Linux, 一種是基於Mac OS X。在Scott Forstall的堅持下,採用了精簡改造Mac OS X的方案,成就了現在的iOS。硬體方面也分兩組人,一組基於iPod的轉盤設計,另一組探索全新的觸屏(Touch)設計,最後採用了觸屏設計。iOS上的開發框架就叫做Cocoa Touch。在開發iOS軟體的時候,經常碰到NS開頭的類,NS就是指NeXTSTEP。

至於Kurt Schmucker當初為什麼將KidSim改名成Cocoa, 這個我實在是不知道了。或者Cocoa聽起來清脆,並感覺溫馨吧。
------------
另外Mac OS X上五大API,具體指哪五大,怎麼我沒有聽說過?


推薦閱讀:

MacBook Pro 為何不在 2016 年使用 Nvidia GPU?
Apple ID 被盜,MacBook Air 被惡意鎖定,官方拒絕解鎖,近萬元設備變板磚,怎麼辦?
蘋果和安卓對於學生哪個更好?
如何看待很多人不贊成 iPhone 7 取消 3.5mm 耳機介面?

TAG:名字由來 | 蘋果公司AppleInc | Cocoa | Objective-C |