不能親自出席的演講公告:「Cocoa: 即沖即溶Mac OS X程式設計指南」(2006年4月8日)
(update:關於rich client的譯名,b6s建議可以譯成「瑞氣千條客戶端」。至於為什麼是瑞氣千條呢?請看布袋戲……)
相信很多朋友都聽說了OSDC.tw 2006的事。我想這將是2006年台灣最重要的開發者社群聚會之一。lukhnos做為OpenVanilla的開發者,也受邀提供一個講題。
這次我提供的講題是「Cocoa:即沖即溶Mac OS X程式設計指南」。Cocoa是Mac OS X的兩套官方API之一,其實就是NeXTSTEP的API(不用懷疑啦,所有Cocoa的舊類別名,都以NS開頭),是以Objective-C寫成的。也因為NeXTSTEP/Mac OS X的關係,而使Objective-C這個語言在眾多物件導向語言間獨樹一格──或者說,才得以在諸強者之間勉強爭到一席之地。這一次的講題,我將針對Cocoa及Objective-C做簡單的概述。希望在Mac OS X上進行原生應用程式(native application)開發的人,目前仍有學習Objective-C的必要。
附帶一提:我們是可以用Java來寫Cocoa原生應用程式──Xcode會幫你把框架生好,介面可以用Interface Builder來拉,裡面的程式再填上Java便成。但是一來Java版的Cocoa介面用起來沒有Objective-C好用,Apple對於繼續發展Java版的Cocoa又似乎很猶豫…… 至於Java的AWT/Swing呢,雖然可以靠「貼皮」(skin)的方式來模擬OS X的長相,但是偶爾還是有些地方皮沒貼好,會露出Sun或X-Window式的三夾板(最佳範例是NeoOffice/J)…… 其他語言的Cocoa接口也有一樣的問題。
在示範操作上,這次講題將直接示範用Xcode配合Interface Builder寫程式。不過,如果還示範如何寫「溫度換算程式」就太遜了。我們將配合WebKit套件,開發一套極簡單的「多樣態客戶端」(rich client)──配合Web後台存取資料,而以原生GUI作為表現層的應用程式。利用WebKit的JavaScript支援,我們甚至可以讓JavaScript寫的程式,倒過來呼叫原生的Objective-C程式碼(註:Apple的開發文件有遺漏細節,照著手冊的範例,程式是不會動的,確實的解法請參考下面的範例程式)。
由於4月8日當天我人不在台北,我會用voice over Skype的方式講解。示範部份則是由Blueapple出手。他用Cocoa寫程式的經驗,要比我豐富多了。:)
如果等不及了,目前的講題投影片(草稿,非常草的草稿)放在這裡。至於範例程式則放在這裡。範例的後台在這裡。
lukhnos :: Mar.29.2006 :: tekhnologia 技術或者藝術 :: No Comments »