Flex 3和AIR 1.0很快就要正式发布了。第一次看到Flex和Flash在界面设计上的强大功能后感觉这就是今后Rich Desktop Application的未来,但是事实上一切都没有那么简单。
Flash的推广离不开过去Microsoft在Windows中预装Flash Player,尽管现在已经不再预装Flash Player了,但是Flash得渗透率已经达到可以自己传播的程度了。但是,Microsoft今后仍旧可以通过预装Silverlight来扼杀Flash,让Flash和Java一样死掉。
Flash最大的特点在于跨平台、跨浏览器的Rich Application,现在又将这种优势扩大到桌面软件上,但是Flash毕竟是一个封闭的平台,没人愿意在封闭的平台上面写程序,所有人都希望自己写的东西是最基础的,底下都是透明的玻璃。于是人们只能转向Java,但是Java这个东西太老掉牙了,一慢、二渗透率低。大家只好又回到Windows,于是再次加固M$的垄断,从而断了Adobe的后路。如此恶性循环,得意的只有M$。
我觉得Flash的出路在于
- 提高速度
Flash里面的虚拟机速度连Java都比不上。需要加把劲。 - 改变基本构架
Flash程序不像C那样进来有一个Main(),然后一切都是从它开始。Flash从AS2到AS3虽然进行了巨大的转变,但是仍然没有摆脱脚本语言的特性,仍然是以帧为基本的单位 - 支持多线程
虽然看上去不是一个大问题。但是事实上问题很大!用上去感觉好的程序大多数都要用到多线程。可以说这是RDA得核心之一 - 支持多种编程语言
这点M$做得比较好,提出了一个MSIL,我觉得这东西应该推广,不是所有人都喜欢这种语言。 - 把最基础的API和高端的API分开来
这点Adobe已经做到了,但还不够好,Flash Player的API虽然小,但还是有点多余的东西。可以把这些东西移交给Flex - 最重要的一点——提高AIR的可拓展能力
比如可以叫Windows API等,这样可以弥补Flash平台本身的不足(这种不足是永远也补不完的,只能靠牺牲安全性,提供更强大功能来实现)。可以不在浏览器中实现,但是AIR中一定要实现。
或许还有很多,不过第6点我认为是最重要的。