iPhone SDK
Apple最近終於公開了iPhone SDK,除了提供廣大程式設計師在iPhone上開發程式外,還順便提出了一個讓開發人員能直接在iTunes Stores販賣作品的business model。在iPhone程式開發上,iPhone開發模式跟現有的Mac OS X應用程式沒兩樣。從下面的系統架構圖可以看出來,第一層一樣是Objective C + Cocoa(iPhone上叫Cocoa Touch, 多支援一些iPhone特有的功能,像是multi-touch、加速感應器)。中間有Media Layer提供影音、3D動畫(OpenGL ES)、繪圖的API,以及Core Services提供較為高階的網路連結、資料庫(SQLite),比較特別的是這層還提供了iPhone透過wifi及手機基地台做的地理定位資訊(Core Location)。最底層是提供低階OS功能的Core OS,包括檔案存取、Threading..等等。整個開發平台對於熟悉Mac OS X的開發人員來講其實非常容易上手EA甚至在兩個星期內就在iPhone做了Spore的簡易移植,SEGA也移植了Super Monkey Ball(並且是靠加速度感測器來操作的!),從影片demo的效果看起來實在非常驚人。流暢的3D動畫和OpenAL提供的立體音效,再加上內建的3軸加速度感應器和multi-touch screen,即使iPhone不拿來打電話,以後也必定是一個可期待的攜帶型遊戲平台。除了提出開發平台外,Apple還順勢提出讓iPhone Developer能販賣作品的平台,一方面能把SDK賣給想靠開發iPhone程式賺錢的程式設計師,另一方面也讓這些程式設計師能夠靠販賣iPhone程式獲取收益(跟Apple 7/3拆帳,每個月領一次),實在是很聰明的策略。iPhone一旦多了官方SDK後,可預期的是iPhone上的native app會如雨後春筍般大量出現,另外也可能吸引到其他Smartphone平台的開發者投入iPhone及Mac平台的開發。(在demo中,從EPOCRATES來的speaker說:「這些動畫效果都是由內建的API自動提供的,我們沒有多寫任何一行程式碼來做這些事。但它們真的讓程式看起來很酷。」)老實說,看了這些demo後,我也想去敗一台iPhone了...。閱讀全文