桌面應用程式:Dashboard Widgets, Vista Gadgets及Adobe Apollo

桌面應用程式:Dashboard Widgets, Vista Gadgets及Adobe Apollo
文∕趙英傑

RIA的主要概念,就是把網頁的操作流程變成像普通軟體一樣地流暢,不用換頁、不必等待,並提供更好用的互動模式。有了Widget引擎或Apollo平台之後,「網頁」反倒變成了「桌面應用軟體」。狹隘地說,Widget引擎和Apollo平台,都是可以讓用戶直接在桌面存取網路服務(如:查閱維基百科、瀏覽RSS訂閱、查詢Google Maps…等等),而不需要透過瀏覽器觀看的程式。

對Flash開發人員而言,即使沒有Apollo或Widget,藉由ZincScreenweaver(這是免費的開放原始碼軟體)等工具程式,一樣可以把Flash的.swf影片檔轉換成具有不規則和透明視窗的桌面應用程式或螢幕保護程式,若加上這些工具內建的特殊指令,還可以做出原本Flash辦不到的事情,例如,Zinc可以直接從Flash連結存取資料庫,不需要透過PHP, ASP, JSP…等程式。

以往,我們得先學習C/C++, Visual Basic或Delphi…等程式語言,然後查閱一堆Windows API系統程式界面指令,茹苦含辛地編寫出「桌面小可愛」。現在,這些技術門檻都被後進逐一剷除了。對於Flash以及ActionScript設計師而言,能夠輕易地應用所學製作出桌面程式,著實令人雀躍不已。

廣告一下,筆者的《碼上就會-Flash 8 動畫設計寶典》書籍中的「螢幕破壞程式」以及「光合物語」螢幕保護程式,就是用Screenweaver轉換的 🙂

「光合物語」螢幕保護程式

鳩佔鵲巢?

在去年Adobe MAX研討會上聽到Apollo的消息時,腦海中閃過的訊息是,那些研發把Flash的.swf影片轉換成桌面程式工具軟體的小公司該怎麼應付?

這就好比當Steve Jobs在MacWorld大會上宣佈Mac OS X Tiger將內建Dashboard Widget時,首先在Mac上創造出Widget的Konfabulator幾乎被宣判死刑,而且Steve Jobs把Widget講得好像是他們家發明的嶄新概念一樣,對於Konfabulator及其創始人Arlo Rose隻字未提。所幸Konfabulator後來被Yahoo收購了,以Yahoo! Widgets之名重新包裝,免費提供給Windows和Mac用戶。

即便如此,別忘了,電腦「桌面」預設是由誰規劃的?當然是系統軟體公司!也就是微軟和蘋果。想鳩佔鵲巢?沒這麼容易!雖然用戶有權安裝其他桌面軟體,但是我很懷疑會有多少Mac用戶以及Vista使用者會額外安裝Yahoo或Google的Widget。

看了Apollo的範例程式後,我覺得有些例子看起來和Mac OS X Tiger內建的Widget或Windows Vista的Gadget效果沒有什麼不同。去年的Adobe MAX研討會第一天上午展示的,運用ActionScript 3.0的SoundMixer類別的computeSpectrum()方法,讓影片隨著聲音變化展現動態頻譜圖的效果(也就是Media Player裡的「視覺效果」),真的很炫。在Apollo平台的加持之下,Flash影片可以和電腦桌面融合在一起(例如,具有不規則和透明視窗或存取本地端的檔案),Flash終於可以做出像樣的MP3播放器了!

在網頁上採用Flash作為影音播放器,是個相當理想且實用的選擇。但反過來說,市面上琳琅滿目的音樂播放軟體,不管是系統內建的Media Player、iTunes還是WinAMP、「千千靜聽」或foobar,不只能播放各種格式的音樂、收聽線上廣播,有些還能同步播放歌詞。除非能提供比現有的軟體更優質的服務、功能或內容,一般用戶大概沒有必要安裝新的音樂播放器吧?更何況,有多少人會在意應用軟體是用什麼技術完成的?

微軟除了強調Windows Vista系統比起XP更穩定、更絢麗之外,更厲害的是結合了本地的內容和服務,例如,把相片瀏覽器和7-11線上沖印服務整合、還有提供KKBox線上音樂服務。一旦Vista潛移默化地讓用戶依賴內建的服務,就可能對其他內容提供者產生排擠效應。整合創新服務才能勝出,技術不是重點。

就技術上來說,Widget和Apollo當然是不同的東西。除了處理HTML, CSS和JavaScript等動態∕AJAX網頁用的WebKit瀏覽器引擎,以及Flash ActionScript之外,Apollo還把PDF整合在一起(Adobe有一個整合Flash互動介面與PDF汽車保險表單的範例,集合Flash的人性介面,加上PDF的文件管理功能,創造出獨特的網路應用程式)。不過,就表現形式和應用範圍來說,它們還是有許多相似之處。

彈指完成Widget!

Widget的主要構成元素就是「網頁」。Mac OS X的Safari瀏覽器也是基於WebKit,凡是Safari瀏覽器安裝的外掛程式(plug-in),Widget也都能使用,而且它還可以執行AppleScript和Unix指令。

其實,您只要會瀏覽網頁,就可以自製這種桌面小玩意!Mesa Dynamics公司的Amnesty Generator免費軟體,能讓使用者將網頁元素、遊戲和視訊轉換成widget或gadget。Amnesty Generator有Mac版Windows Vista版本。這個工具軟體真的不錯,引用該產品網頁底下的評語︰現在你可以轉換Google Gadgets,並在Windows Vista Sidebar或者Mac OS X Dashboard上執行。

該公司還有一套叫做Amnestry Singles的工具,能夠將Widget轉換成獨立應用程式,不再需要Dashboard就能直接啟動執行。

Mac OS X 10.5 Leopard系統,也將提供用戶把網頁直接轉存成Widget的功能。真的,不必成為電腦專家,也能自行創造應用程式的時代來臨了!(它們可以直接在iPhone上執行吧?)

玩賞Widgets

底下是名叫Asteroids的經典復古遊戲的Widget套件內容,您可以看到,這個Widget除了HTML, CSS和PNG圖檔之外,遊戲內容其實是用Flash製作的。

Widgets套件內容

下圖是這個Widget的執行模樣,它的黑色背景(外觀是帶有弧度的矩形)和陰影其實是Widget套件裡的Default.png圖檔,Flash影片似乎無法在Widget中呈現去背(即︰背景變成透明)的模樣。

Asteroids遊戲畫面

底下是一個實用的iStat pro Widget,可以顯示Mac系統的處理器、記憶體、磁碟和網路等資訊:

iStat_pro

下圖是另一個好用的免費抓圖Widget,叫做Screenshot Plus,可以讓使用者擷取全螢幕、視窗、自定範圍並且設定擷取時間,然後儲存成各種格式的圖檔或PDF文件(因為Mac系統本身就支援PDF)。

螢幕抓圖工具

Posts created 468

3 thoughts on “桌面應用程式:Dashboard Widgets, Vista Gadgets及Adobe Apollo

  1. 您好:請問Zinc與 Screenweaver 可以在windows系統執行嗎?我點進去看似乎都推薦以Linux開發。請教您Screenweaver是如何操作將flash檔轉成螢幕保謢程式的,如果我以經發怖為exe檔,是否也能轉換呢? 先說聲謝謝

  2. hi lin:

    Zinc 與 Screenweaver 最大的區別在於 Zinc 是商業軟體,支援的「發佈平台」比較廣泛(多了 Linux)而且功能比較強大,例如,它可以在發佈檔案裡面加入各種視訊檔;Screenweaver HX 是開放式原始碼,目前尚未支援 Linux。

    開發平台則沒有什麼差異,畢竟Adobe公司的 Flash 軟體只有 Windows 和 Mac OS 兩種版本。

    我沒有試過用 .exe 檔轉換,應該不行。請重新匯出 .swf 檔再轉換。

    jeffrey

  3. 對程式門外漢的我正苦惱該從哪種程式學習,才能做到自動控制電腦的介面(例如滑鼠隨著寫入的程式自動移動或點擊、自動開啟網頁等等..)和控制LED燈等周邊硬體,本來找到了visual Basic6.0想從這程式入門,但是看到老師這一篇教學,好像flash能做到和visual Basic6.0程式能辦到的事,看來我要在好好深入研究flash了,畢竟我的程式基礎是從flash開始的,從這邊轉到控制電腦介面應該會比較好上手。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top