Adobe Media Player 比較特別的地方,並非在於和 iTune 或 Windows Media Player 等一樣,也有引人爭議 DRM(以滿足許多思路仍停留在上一世紀的各大內容商);而在於它是建築在 Adobe 年初剛發表、在業界頗引人注目的 Apollo runtime 的基礎上。Apollo 雖然目前仍是 alpha,而正式版得等到下半年、甚至年底才會準備好,但它 1) 同時支援 Flash 和 AJAX/DHTML 的特性(後者目前尚未 ready),加上 2) 跨 Windows、Mac、Linux 三大 OS,還有 3) 對離線應用的支援,是矚目焦點所在。阿杜伯喜歡用 RIA (Rich Internet Application) 來稱呼開發在 Apollo 上的應用,以強調 browser 達不到的一些特性,如可讓設計人員儘情發揮「美」學創意的客製 UI 元件外觀,和離線支援(這點即將改變,下述)。行銷上一定得強調它的「豐富性」,才能對用戶 justify 在 browser 外,再加裝一個 runtime 的必要性。
阿波羅可說是阿杜伯在 Acrobat/Flash/Flex 無法對 Internet 上愈來愈多的 SaaS 應用客端,形成廣泛的 lock-in 後,又一大心血力作。Flash 既然無法打敗 AJAX,得改採 embrace-and-extend 的策略(即老美所謂的: “If you can’t beat them, join them.”)。
Apollo 比 Flash player 肥一點,但和 VB、Java Swing、Eclipse/SWT 或阿杜伯自己的 Acrobat 等肥客戶端架構的體重相比,Apollo 可稱為「輕量級」或「中量級」(Flash 是「羽量級」)。
當然不只阿杜伯的阿波羅團隊想到離線的問題。另一個眾所矚目的,是開發中的 Dojo Offline Toolkit。它巧妙地使用了本地端 proxy server 的機制,提供終端用戶透明的離線體驗。作者除了說明機制的原理之外,同時舉了幾個很有說服力的離線用例,像是用戶可以在機場 Wi-Fi 環境使用 GMail、Google Docs/Spreadsheet,或在公司內網開啟 portal 上的 SaaS 應用,然後在離開機場、公司後,在飛機、汽車、火車上,延續操作剛才的應用;待重新上網後,再和 server 端的 Web services 作同步。
如果 Dojo 離線工具箱夠成熟,且被 Google 用在下一代的 Gmail, Google Calendar 和 Google 逐漸成形的 office 套餐後,肯定會更讓微軟總部的高官們更加地西雅圖夜未眠。
其他的離線 solutions,還有搭配 WHAT WG的 Firefox 的 Offline Cache 雛型,和 Joyent Slingshot 這個怪胎 - 這是一個跨 Windows 和 Mac OS,讓 Ruby on Rails 開發人員用同樣的技法,把應用帶到離線的世界。就像它官網的描述,可說是一個 RoR 的客戶端的 virtual machine。
不少提到 Apollo 和 offline 的文章,會把 OpenLaszlo OpenLaszlo 拿來比較。不過後者其實比較是 server-side 的框架,和 Flex 類似,但具備了同時支援 Flash 和 AJAX。但 OpenLaszlo 本身似乎沒有支援離線的機制(附帶一提,”Laszlo” 在英文中的發音如 “Lazz-Low”,重音在前;「拉斯洛」或「拉茲洛」大概是最接近的中文音譯了吧!這個名字可能來自於一個匈牙利姓,第一次聽朋友說 “Laszlo” 時,聽起來像是「拉斯帝洛」還是「拉斯提多」,當下還以為他是在說另一個東西,一時竟沒能會意過來;多插了一個母音進去,子音也略為調整,對語音識別上便起了極大的干擾作用,有趣)。
談到離線,我個人最期待的,還是對手持無線裝置的支援。不過光是上述各家連對 PC 上的支援都還未 ready,加上手機上瀏覽器對 AJAX 的支援也仍有一段距離,看來想在手機上玩離線的 RIA,還得再等上個兩年吧!