現場直擊:蘋果 iPhone/iPod touch SDK 發表會!(上)



9:05AM - 按照老例,我們已經註冊排隊中。



9:26AM - 幾百頓的新聞從業人員魚貫而入。






9:51AM - 進去啦(不知道幾次了...)!




9:57AM -「紳士美女們,歡迎光臨蘋果發表會。」



10:01AM - 「早上好,先生女士們。歡迎來到這特殊的 Apple 發表會。」

賈老現身:「歡迎,我們非常高興能跟各位分享一些關於 iPhone 軟體前景的大消息。我們有一些好東西要發表,所以讓我們開始吧。首先我想先分享一些目前 iPhone 的現況...」




iPhone 在 Q407 取得了 28% 的市場佔有率(我猜是 Smartphone),RIM 相較之下則是 41%。「如你所知,iPhone 首度將網路帶到一台隨身裝置上。簡單的說,網路就在你的口袋裡,而且我們有數據為證。全美 71% 的手機上網用的都是 iPhone!」



「所以讓我們繼續今天的話題,有請兩位我的同事來負責為大家解說...」是 Schiller 和 Forstall。「首先我們要來談談 iPhone 的企業應用。」鼓掌。



10:04AM - 老賈:一說到 iPhone 在大企業間被使用的情況,我就整個很嗨!我們有相當優秀的企業夥伴,想要採用 iPhone 為工作環境當中的手機,甚至是大學裡頭,也有給他們的教職人員 iPhone 使用的,像是 Stanford 大學。


但是在企業應用方面,他們也給了我們很多建議,表示要達到這樣的要求,才能讓 iPhone 在企業用戶中成長。究竟他們要啥呢?Push mail 是其中最大的一項,還包括了日行程的功能,他們也要能夠即時、不論任何時空皆可使用。

10:05AM - 他們想要推動聯絡人、全球可通用的通訊地址、Cisco IPsec VPN、他們想要確認權限和各種問題、企業等級的無線網路金鑰(WPA2 / 802.1x)、安全性政策、企業架構工具、並可以遠端遙控。



10:06AM -「企業客戶想要的重要的因素可以列出來的太多太多了,好,現在我想跟大家分享這個令人興奮的IPHONE新軟體!」






10:07AM - 「我們的客戶要求我們將 MS Exchange 直接做進 iPhone 裡 -- 所以我們向微軟取得了 ActiveSync 的授權。」哇塞!



「這是個很大很複雜的要求,但怎麼才能做到嗎?上一代的智慧型手機...」螢幕上出現一台普通得掉渣的 QWERTY 手機「用的是傳統的老方法。」示範通訊、防火牆和一些企業應用常LOB



10:08AM -

微軟也幫我們寫出了更先進的架構,讓 iPhone 能夠直接和 Exchange 伺服機相連,當中也能達到更可靠、省成本等好處。透過 Exchange 服務,你可以直接將郵件、日行程、連絡人、世界通訊地址等資訊,通通推上 iPhone,同時也可以遠端編輯這些資料。



也就是說,iPhone 也有 Exchange 服務了!

10:10AM - 聯絡人、行事曆、電子郵件全部空白,現在可是同步的時間了。「沒有重要約會,我喜歡這樣,好輕鬆自由」賈伯斯開自己一點玩笑。


Exchange 是最重要的電子郵件服務,也是企業不可或缺的。你可以切換聯絡人、行事曆、電子郵件等各種開關選項。

10:13AM -
聯絡人立即出現了。如果現在台上站的是老賈的話,想必會伴隨著一兩聲「Boom」。「介面、操作都像一般的 iPhone,只是現在資料都是從 Exchange 餵進來的。」

試著在 iPhone 上增加聯絡人,Bob 也立刻看到了新的聯絡人。Bob 改了一下資料,iPhone 也立刻顯示更新。掌聲連連。

"Bob 傳送一封郵件給 Phil,然後透過 direct Exchange push email,一下就收到了!" 示範 Exchage 中的 lives push 會議交換功能。

示範手機的遠端清除功能 "天阿!我簡直快停不下來了!這手機已經被清除且保護了!" 掌聲 "還有更多的神奇新功能,將來你就會在 iPhone 上面看到,我們目前還在積極努力中"

10:18AM - 「另外一個合作的公司是迪士尼,大家知道我們和迪士尼是有多麻吉,科科。」「這些特色功能都是使用者對先前企業要求過的,我想現在推出的特色功能,會人使 用者用到爽翻天,跟iphone再天上一起滾來滾去。這將是企業用手機的最佳選擇。」接下來讓Scott Forstall介紹偉大的SDK!



Ok, 我在這裡是要告訴大家開發者是如何可以在 iPhone 開發很棒的軟體。在講 SDK 之前,我想先談一下 Web Apps 的現況。我們在這方面非常成功,一共有超過一千種給 iPhone 用的 Web app。」

台上展著幾個比較重要的,包括 Facebook。很棒很棒,但快點給我們看 SDK 吧。

「目前 iPhone 已經美國銀行(Bank of America)最熱門的行動裝置 -- 20% 的線上理財活動都是透過它進行的。但我今天真正想談的是 iPhone 內建軟體的 SDK。」

「今天起...我們要將內建的 API 和我們的工程師所使用的工具公開。」

10:21AM - 第三方軟體開發者,可以透過 SDK 來撰寫原生的 iPhone 軟體,就像我們做的一樣。SDK 是由相當多的 API 套件組成,這跟我們身為一個平台公司息息相關。我們有世界上最先進的平台(喔...)他就叫做 Mac OS X。主要是由這幾四層的架構組成。



核心 OS、核心服務、多媒體層以及 Cocoa。我們以底下的三層建造 iPhone OS,Cocoa 則是當中最有趣以最佳的軟體架構,因為他靠的是滑鼠、鍵盤。所以我們在 iPhone 上面則是寫出了 Cocoa Touch。



這裡所見,就是 iPhone OS 的架構,我們在詳細的說明一下。從 kernel 開始,基本上 kernel 的部份,就是 OS X 的企劃、程式源相同。網絡層則是 BSD,同樣也是用在 OS X 上面的。(我們都很清楚了阿XDD)另外在電源管理方面,蘋果更是超過十年的相關先進技術。






10:25AM -「我們開始使用這些先進強悍的管理科技,而且還要超越這些科技--核心作業系統的引擎可以管理全部的晶片、感應器、你的應用程式,而且全部自動化。」現 在我們只提到一點核心服務,我們擁有全套 API 的設定方式,讓你的應用程式可以輕易和 iPhone 的資料庫進行連結,以及和 SQLite 共同運作的的資料庫 API。

一些舉例:「中心位置-我們得到它並且開闢路徑進入API,所以你現在可以開創和地理位置相關的應用程式。媒體頁面-和中心音樂Core Audio一起運作,這是低階層音效層級,高階層我們建構了產業級標準的OpenAL。 」



10:27AM -「影片播放:用我們內建的 h.264 codec,實際無間斷的影片播放。」所以我們可以自已裝 codec 進去?是嗎?是嗎?唉...「核心動畫...OpenGL ES,內嵌版的 OpenGL 和 3D 圖像的提供者。事實這一整層都經過高度的硬體加速才得以實現。」



10:29AM - Cocoa Touch,我們最先進的觸控事件系統,透過加速感應器,三軸感應器,就可以使用你的硬用軟體,這就是 iPhone OS 的架構,可以算是最先進的行動平台,我想我還還是不小心領先了其他平台不少年。從 OS X 上頭,我們學到了不少東西,可以說是站在巨人的肩膀上。

除 蟲程式上面,我們也有相當多的工具,就先從 Xcode 開始談起吧!透過對於 iPhone 的加強支援,我們可以使用 Xcode 來協助撰寫 iPhone 上頭的程式,從一個強大的程式碼編輯工具開始說起,他對於 iPhone SDK 撩若指掌,並且完成 iPhone SDK 的 APIs。



10:30AM -「...這玩意還直接整合了資源控制管理系統、subversion系統、cvs系統...並和 iPhone SDK 文件整合在一起,並有良好除臭蟲的能力,還可遠端除臭蟲。」有了 Mac 和 iPhone,你的企業人生將是彩色的,而且還能在彩虹上滾來滾去。



10:32AM - 「我下一個想談的工具是 Interface Builder(介面建造器),也就是打造你的連體介面的主要方法。我們提供完整的 iPhone 介面元件,只要拖拉到螢幕上就好了。」示範如何將控制元件和後面的程式做連結。



「我們將這三個工具拿出來,但除了這些之外,還有一個全新的工具:iPhone 模擬器。它在 Mac 上可以完整的模擬整個 iPhone 的 API。」



10:34AM - 除了這超棒的架構外,我們還有很多強大的工具,示範了這個 iPhone Simulator。看起來跟 iPhone 一模一樣。





10:35AM - 透過模擬器來示範 Safari 操作。並且迅速的寫出一個 Hellow World! 程式



10:37AM - 只要將程式丟進 Simulator 就可以進行測試,同時安裝上 iPhone 也是一樣的簡單輕鬆...



10:39AM - 簡單的編碼,丟到 iPhone 上,執行,並啟動除錯程式,全部一步到位。不賴嘛...「這程式我兩分鐘做出來的,如果有兩天的話,我們能做出什麼?所以我們做了這個小程式,叫做 Touch FX。」

10:40AM - 選張照片,將 OpenGL 的變形效果應用上去,圖片會隨著手指而扭曲(手上有 iPhone 的人可以參考 RealArtist),搖一搖則是回復。







10:42AM - "緊接著我們決定,在兩週內我們該幹啥呢?我們要來寫遊戲! Touch Fighter" 3D OpenGL!按螢幕隨意處開火,透過加速感應器來操作前進,現場一堆驚叫!










10:44AM - 測試 Wing Commander 這類遊戲的最佳化,影格率約 27~30fps! 同時還有效能記錄。


"別只是聽我在這裡說,我們當時請很多家公司一起參與測試,並且請他們派工程是來玩玩看,看看在兩週內,可以用這他們從來沒看過的 SDK 寫出怎樣的好東西"

10:47AM - EA 的老大 Travis Boatman 也跑進來聊 SDK 的應用:「首先感謝蘋果邀請我來成為 SDK 的老鼠會高級上線!我們共同開發的第一個軟體是就是陽春版的 Spore。(Spore 耶!)」






它是個簡單版,卡通化的 Spore。加速器控制小生物的移動,在遠古的池塘裡覓食。當然,Spore 引以為傲的客製化系統也搬過來了。







10:49AM - 展示影像能力,現場又是如雷的掌聲。"你看也不過才兩週的時間,就已經可以拿出這樣的東西出來,對於遊戲開發,你還能找到更好的平台嗎?




10:51AM - 示範 SFA 應用,顯示了月入報表。 "我其實想用加速感應器來搖出個結果,不過還是先不要降做好了!"





10:55AM -「下一個功能:AOL,就是美國人最愛用的即時通訊軟體AIM,米國同胞高興啦!」



「我從沒在Mac上面開發的經驗,也從未用過物件導向 Objective C ,但我們花了五天的時間就看到AIM的聯絡人列表了,真的可以再IPHONE上面作即時通訊了...」








10:56AM -我可以用切換開關的方式來啟動AIM的聊天功能(大家掌聲鼓勵),狀態更新的頁面,從iPhone的照片集上面來對應你的AIM聯絡人照片(自我揭露:你現在看的癮科技正是屬於AOL的網站,我們通常也透過AIM跟美國的作者聯繫)。



10:58AM - 「為 iPhone 開發程式是一個和其他平台截然不同的經驗...幾乎像為桌上型電腦開發一樣。」展示藥物的資料庫,用的是內建的 SQLite 資料庫來儲存藥物的資料、反應等等。




回到 Scott...Sega!「Sega 在遊戲介耕耘二十五年之久...」交給 Sega 的 Ethan Einhorn。






「Super Monkey Ball 是最明白的選擇...」