Sunday, September 10, 2006

Adobe Apollo - 用 Flash 核心技術開發主流應用程式

大約十年前 Java 以他的跨平台虛擬機器架構掀起一陣熱潮,很多人熱切期待著有一天,需多主流的應用軟體會透過 Java 達到完全跨平台軟體的境界。十年後,有那個熱門桌上應用軟體是用 Java 寫的呢?我自己在用的只有 Azureus BitTorrent Client。Java 攻佔桌上軟體市場的夢想,還很遙遠。另一方面,Macromedia (現在被 Adobe 併購) 在幾年前,也開始增強 Flash 的功能,為進攻桌上軟體市場準備著。一兩年前 Macromedia 推出 Flex 算是第一波攻勢,我從來沒看過有人在用,新聞消息也少的可憐。

今天剛好看到 Adobe Apollo 的網站,看來,這次 Adobe 打算一次把 Flash 打造成一個完整的桌上型程式開發環境。Flash 一值都有很不錯的 2D 繪圖功能,大概在 Flash 7 左右加入了一些元件技術,讓開發 GUI 程式簡單一些。不過 Flash 被關在 Flash Player 裡面,因為安全考量,也缺乏很多存取系統資源跟資料的能力。現在 Apollo 整合這些技術資產,加上整個設計完全針對桌上型程式的開發,提供了很多以前 Flash 缺乏的重要功能,我看到了幾個讓我覺得特別有用︰

1. 跟 Flash 一樣,用 Apollo 開發的程式也是跨平台的。
2. 網路︰完正的 socket API 可以拿來寫很多網路應用程式向 Bit Torrent cliemt 或 FTP client。
3. 桌面整合,這是最關鍵的,讓 Apollo 程式看起來像是一般的程式,而不會像是次等公民。例如︰存取系統剪貼簿,拖曳,開啟其他程式,跟其他現有的程式溝通,等等。

目前看來,Apollo 可以當作是一個加強功能的多媒體 Widget 引擎,開發一些提供特定功能而且有漂亮,高互動性介面的程式。我自己蠻喜歡用介面漂亮的程式,例如 uTorrent, Skype, WinAmp 都很不錯。不過 Flash 應該可以提供更多的彈性作出更有趣的介面,著重介面的同時,Apollo 看來也提供了足夠的設施,讓程式可以有足夠的功能性跟其他的軟體競爭。畢竟,軟體功能如果矮人一截,還是沒有競爭力。

另一個問題是,Apollo 有沒有辦法在比較複雜的桌上型程式開發上,跟 Java 或是 .Net 競爭呢?例如,一個讀信軟體好了。我想,以目前我所看到 Apollo 的功能,是沒有什麼技術上的限制,不過複雜的軟體最好要有完整的開發環境,包含 IDE,除錯等功能。另外程式資料一多(幾千封 email) Apollo 執行環境的效能跟記憶體管理,也變的很重要。Apollo 有沒有野心跟實力往上吃下這個市場,還要在看看後續的發展,不過目前,我很看好用 Apollo 開發小型,特定功能高互動性的多媒體程式,像是RSS reader, 及時通 IM client, 聊天軟體,簡單的相簿秀圖軟體,等。

Adobe Apollo:

http://www.flex.org/ACDS/apollo.pdf

Saturday, September 02, 2006

變成廢人


今天在家裡癱瘓一天。昨天只是有點輕微疼痛的肩膀,今天早上好像更糟了,稍微動到,左邊肩膀就會一陣劇痛,痛到臉都揪在一起了,一陣一陣大概五秒。不知道是不是抽筋,肌肉好像沒有拉傷,肩膀用力或按摩也不會痛。因為怕引起疼痛,人的動作不自主的變的很慢,也沒辦法出門,吃了點香蕉補充電解質,好像沒什麼用。家裡還有很多 protien shake 可以喝,不過什麼事也不能作,所以睡了一個下午。

起來以後好一點點,疼痛的次數稍微少了,不過程度沒什麼改變,還是那種一瞬間在一個點上很劇烈的痛。不過用電腦好像沒什麼問題,只好看看網頁。很久沒看的酪離壽司多了很多文章,有趣的程度一點也沒減少,一次看下來的感覺真好。

想到 long weekend 變成廢人癱瘓再家裡實在令人喪氣,很想出去吃壽司。

Update: Joey 叔叔說我是脖子的問題啦, 還有圖喔... 大概是數字 2 的地方... 希望明天會好點...