OV @ WWDC 2006: Day 1, ObjC goes gc etc.
今天的確是相當漫長的一天。Steve Jobs今年的Keynote Speech內容以及評價,我想網路上已經貼了許多,我在此就不再添足。今天除了上午的Keynote Speech外,下午連續參加了三場講座:OS X State of the Union, Development Tools State of the Union, Graphics and Media State of the Union, 都是屬於宣示性、策略性的演說。事實上,後面三場的重要性,我現在認為,其實遠比Keynote來得重要。
當然,會議的Keynote不外乎是替大方向定調。今年的WWDC Keynote很意外的都是Apple自家員工上陣,並沒有Intel、MS或Adobe的人出來講話。對Apple來說,Intel transition也許已經完成,但是有在看MS Mac BU的人都知道,事情絕非如此單純。另一方面,Steve Jobs的Keynote似乎已經變成了一種煙火秀,在這樣的情況下。可是要年年有驚喜,其實並不容易。
就目前我所看來,上午Keynote的「平淡無奇」,其實都是在為下午每一項技術的深化定調。例如Time Machine其實是Journaled file system的延伸,要真能發揮功能,最終仍要靠應用程式的配合。Spotlight, universal access也一樣。
對我來說,有兩個我所關心的主題,Keynote上沒提到,反倒是在下午的講座上漸次被提及。一個是Objective-C 終於有了正式的garbage collection的機制(將在Leopard中支援),另一個則是終於有了resolution-independent UI──意思是說,從此使用大螢幕時,UI的尺寸(其實是DPI數)也會跟著增加,終於讓眼睛不會太傷。
很顯然,Apple 仍把主要技術的實作,押寶在 Objective-C 這套語言上。負責 Objective-C 講題的人甚至開玩笑說,他會吹管樂,而升do(C#)的調子 “get you nowhere”。話雖如此,增加諸如 setter/getter 自動生成的關鍵詞,增加 “foreach” 的語法,以及早在前一版 gcc 就已經出現、但 Apple 並無在 Cocoa 層次支援的 garbage collection 等等,這些只能說是 Apple 終於跟上了現代語言發展的腳步。同樣的道理也出在 Xcode 3.0 的眾多「新功能」上,例如區塊收攏(folding)、refactoring、更好的除錯訊息支援等等,這些早就是各種現代編輯器以及IDE環境就該有的功能,Xcode只能說是早該如此。不過,那套竟然跟GarageBand介面有異曲同功之妙的除錯工具,倒是很令人眼睛一亮。
整體說來,今天一整天所提及的技術,主要還是以媒體及呈現(media and representation)為主,舉凡CoreAnimation, QuartzComposer等等,顯然Apple仍然專注於桌面軟體,並且針對的都是高階、高單價/高成本、大量圖形或媒介處理的應用。而,當 Steve Jobs 在 Keynote 講到 iChat 的新功能時,很多朋友(就我所知)的第一個反應是:這有什麼好拿來講的。然而,在下午的 session 中便不難發現,此次 SJ Keynote 的重點都在於:這每一項「平淡無奇」的「新功能」,都有一套 API ,而且顯然做為 OS X 的應用程式,都該儘可能善用這些功能。
也就是說,OS X 的應用程式將越來越難寫。應用程式底層必須有可程式化的 scriptability,UI 基礎要能有 accessibility (這一點在美國相信會益發受到重視),程式要好用、要提供 “wow factor”,必須善用各種的媒介資源──聲音、圖片、影像、攝影機、H.264格式、HTML+CSS+Javascript──這一些都建立在一個又一個的 “framework kit” 上面:PDF Kit, CoreAnimation, ImageKit, QT Kit, Web Kit, etc. etc. (是的,這些程式庫初期都會只有 Objective-C 寫的 API)有一點跟 MS 哲學很不一樣的是:OS X 的程式庫,似乎都直接反應在 Apple 自家的應用程式上,也就是說 Apple 自家的應用程式就是那些程式庫的精緻應用。例如用 PDF Kit 配合 Interface Builder 就可以拉出一個簡易版的 Preview,Web Kit 拉一拉就有個陽春版的 Safari 等等。而如此的挑戰變成了,當這些事 Apple 都已經幫你做好時,你到底能發展出什麼新的東西出來。
雖然WWDC做為每年Apple的兩大盛事(另一是MacWorld)之一,總有許多花絮和trivia可講,不過我想最終還是要回到技術的主題來。接下來四天會參加的活動,也會循著這個方向來走。
今天先到這邊,要去補充五點起床苦撐透支的體力啦。
lukhnos :: Aug.08.2006 :: tekhnologia 技術或者藝術 :: 5 Comments »
5 Responses to “OV @ WWDC 2006: Day 1, ObjC goes gc etc.”
辛苦了
Tiger 裡面就可以看得出來 resolution-independent UI 做到一半。打開 Quartz Debug ,選 Show User Interface Resolution 就可以調高解析度(要在改變之後起動的 Apps 才會生效),Cocoa 部份問題較少, Carbon 的 (包括 Finder) 大部份就直接是 bitmap 放大。要是這功能完整了以後,是不是以後所有的東西都要變成向量圖?
Core Animation 到現在才有,可說遠遠落後 MS 的 framework 了。去年有看過 MS 的不知道什麼 conference ,已經追上了 Core Image/Video ,我想朝媒體/呈現發展是個趨勢。
Xcode 3 最讓我期待的就是 backward debugging (even better than this: http://www.lambdacs.com/debugger/debugger.html) ,看起來實在太酷了,不知道什麼時候才能拿到。 :-(
至於 OS X 的程式有沒有越來越難寫,我倒是一派樂觀。從以前就是這樣,scriptability, accessibility, … 等都不是 OS X 才有的 issue ,早在 Classic 年代就是如此。支援得多,除了得 Apple Design Award 的機會提高之外,也不見得就會怎麼樣。有心人還是那幾個,門檻卻降低了。
另外很好奇 WO-evangelist 和你宣傳了什麼?WO 的工具超老舊,如果 Apple 有心要做,應該要把這些東西整個翻新才對。今年大概看不到 WO 6 了…
今天我的 blog 連不上去,來這邊發發牢騷,也算委屈你了。別忘記幫我問問 Dictionary.app 的細節呀~(具體來說,就是如何把英漢字典整合到系統的 dictionary service 裡面)
辛苦了
“有一點跟 MS 哲學很不一樣的是…”其实,和 MS 哲学很像啦,比如大到 WPF (Windows Presentation Foundation) 就有 Microsoft MAX 实现,MSHTML 就有 Internet Explorer 实现,DirectShow 就有 Windows Media Player 实现,小到 RichEdit Control,也有对应的 Microsoft Write :)
另外,Sample 一类的东西,MS 的 SDK 里一向很充分,比如 DirectX SDK, Platform SDK, Samples + Documentation 的大小比其他所有部分加起来都大 (libraries, header files, etc.) 很多 Samples 已经是相当完整的程序了。
yllan,
Don’t forget to submit your plug-in for next year’s Apple Design Award! :)