今天抽时间看了一下 Adobe AIR 的文档,感觉这类东西根本没有前途。

AIR 本质上是一个运行时环境,类似 VB 的 runtime dll。有了这个 runtime,用户下载一个 AIR 应用后就可以在本机跑起来了,简单的说就是让 Web 应用脱离浏览器环境。但是仔细观察 AIR 就会发现 AIR 现在能做的事情,浏览器绝大部分都能做,而且不久以后还能做得更多。

AIR 有三种主要的应用开发模式:

HTML+JS+CSS Based Application:这种实质上就是基于浏览器的应用了,只不过跑在 AIR 的窗口里面而已。这和 Google Chrome 建立的“应用程序快捷方式”没有什么区别,当然 AIR 对 HTML/JS/CSS 这些有点修改和扩展,不过基本上和标准保持一致。

跑这种应用,如果用户可以选择,Google Chrome 和 Firefox 都是比 AIR 更好的运行环境。Google Chrome 的 HTML 渲染和 JS 执行性能太牛叉了,比 AIR 高了不知道多少倍。而 Firefox 也是非常快速的浏览器,配合各种扩展也可以为用户带来更多的方便。

所以在这种类型的应用上,AIR 是没有机会的。

基于 Flex 的应用:Flex 要说好不好,确实不错,不过我个人认为也是个没前途的东西。Flex 本质上是一个开发平台。开发出来的应用程序使用 Flash/PDF 作为前端来展现用户界面。

表面上看 Flex 很强大,但是仔细分析就会发现相对其他竞争者没有任何优势。论开发语言和开发工具,Java、.NET 阵营都不是吃干饭的。与这两个阵营的厂商相比,Adobe 在这方面还是小学生。而且从 Adobe 的进展看也不可能搞得过。

论前端的展现,基于浏览器的应用已经非常成熟了,大量的技术、知识和资源可以利用。而 Flex 也就是在用户界面特效上有点优点,但是特效就能占领市场?况且从 Flash 现在的情况看,复杂点的界面都慢吞吞的,别说跟传统桌面应用比,就是和基于浏览器的应用比也不如。

再加上浏览器技术一日千里的发展速度,这点点优势也会消失殆尽。

基于 Flash 的应用:这个其实和前面的是一回事,只不过后端不是 Flex 而已。

要搞清楚一个东西有没有前途,要看它相对于现有的东西有什么优势。AIR 之类的东西相对于基于浏览器的应用,优势在哪里?