2008年3月10日 星期一

讓我們偷看未來的 Graphical User Interfaces

Standard
說到 Graphical User Interfaces〔以下簡稱 GUI〕,就不能不提到『Apple Inc』的貢獻,其產品的推出確實一直為我們帶來很大的想像空間,尤其是『Apple Mac』推出之後,炫麗的 Dock 特效一度造成風潮,可以不難發現新一代的 GUI 早就已經開始悄悄萌芽。或許『特效』這個關鍵字會讓你想到一些知名的 3D Desktop Technology〔如:Compiz 和 Window Vista Aero〕,但在這邊我們並不會去探討它們,不過未來的 GUI 還是脫離不了 3D Technology 的範疇。

電腦 3D 技術發展至今,最近在基礎層面的應用也被許多人所關注,尤以 Mobile Device 上的動態更令人感興趣,像是 Apple iPhone 內廣為人知的特效就是一個例子。現在要介紹的一個 Open Source Project -『Clutter Toolkit』,就運用 OpenGL 技術提供一個效果十足的 GUI。以下是從 Clutter Toolkit 官方網站摘錄的一段簡介:
Clutter is an open source software library for creating fast, visually rich and animated graphical user interfaces.

Clutter uses OpenGL (and optionally OpenGL ES for use on Mobile and embedded platforms) for rendering but with an API which hides the underlying GL complexity from the developer. The Clutter API is intended to be easy to use, efficient and flexible.

Clutter Toolkit 提供一個快速且有豐富動畫特效的 GUI Library,讓程式人員可以很輕易的使用 Clutter API 去開發出一系列好用且具有科技質感的使用介面。若是更進一步結合觸控螢幕當 Input,操作易用性將大大提升,能讓使用者能有非常特別的操作感受。從官方『Clutter Blog』中就可以找到一些很炫的展示影片〔Clutter + Webkit on iphone〕:

http://www.clutter-project.org/blog/?p=46

未來的 GUI 很酷吧!另外,Clutter 如此易用的原因,是因為它被設計成可結合 GObject,所以可整合 Gtk+ 系列的操作,一般的程式人員不用懂太多 3D/OpenGL 的東西就能夠使用。

除此之外,前輩『Jserv』的 Keroro DE,就應用了 Clutter 相關技術做了些整合的設計,以提高使用者易用性。詳細關於 Keroro DE 的說明,可參考『Jserv's blog』和他即將在『OSDC.tw』的發表。