我和胭脂虎的老朋友Adobe (Adobe) 前几天刚宣布Adobe Media Player。简单地讲,其实就是一个类似 Apple iTune 的应用。看起Adobe也开始参与争食数字音乐、Internet TV/IPTV、影/音 podcast 等多媒体的分销通路这块大饼,尽管竞争者众。
Adobe Media Player 比较特别的地方,并非在于和 iTune 或 Windows Media Player 等一样,也有引人争议 DRM(以满足许多思路仍停留在上一世纪的各大内容商);而在于它是建筑在Adobe 年初刚发表、在业界颇引人注目的 Apollo runtime 的基础上。
Apollo 虽然目前仍是 alpha,而正式版得等到下半年、甚至年底才会准备好,但它1) 同时支持 Flash 和 AJAX/DHTML 的特性(后者目前尚未 ready),加上 2) 跨 Windows、Mac、Linux 三大 OS,还有 3) 对离线应用的支持,是瞩目焦点所在。
Adobe喜欢用 RIA (Rich Internet Application) 来称呼开发在 Apollo 上的应用,以强调 browser 达不到的一些特性,如可让设计人员尽情发挥「美」学创意的客制 UI 组件外观,和离线支持(这点即将改变,下述)。营销上一定得强调它的「丰富性」,才能对用户 justify 在 browser 外,再加装一个 runtime 的必要性。
阿波罗可说是Adobe在 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 或Adobe自己的 Acrobat 等肥客户端架构的体重相比,Apollo 可称为「轻量级」或「中量级」(Flash 是「轻量级」)。
当然不只Adobe的阿波罗团队想到离线的问题。另一个众所瞩目的,是开发中的 Dojo Offline Toolkit。它巧妙地使用了本地端 proxy server 的机制,提供终端用户透明的离线体验。
作者除了说明机制的原理之外,同时举了几个很有说服力的离线用例,像是用户可以在机场 Wi-Fi 环境使用 GMail、Google Docs/Spreadsheet,或在公司内网开启 portal 上的 SaaS 应用,然后在离开机场、公司后,在飞机、汽车、火车上,延续操作刚才的应用;待重新上网后,再和 server 端的 Web services 作同步。