某年某月某日,Macromedia因Flash而出名。(根据harry所言,特更改为这种表述。)
Flash使用swf文件作为RIA的基础,需要让IE/Firefox等浏览器安装ActiveX/Plugin才能运行,原则上来说FLASH是一种不开放的格式,这种不开放的格式是通过一个叫做Macromedia FlASH X.0的IDE编译得到的。后来有人破译了FLASH编译模式,那是另外一码事了。后来,有人发明了加密SWF格式的种种方法。于是对于SWF的编译与反编译一度成为热点。
某年某月某日,Adobe公司收购了Macromedia,收购之后,Flex开始出名。(根据harry所言,特更改为这种表述)
这个本质还是SWF.随着FLASH破译模式技术的提高,网络上出现了开源的AS编译器,现在已经到了AS3了,名字就不提了。
http://www.dc9.cn后来出现了Apollo,SiverLight,JavaFX..
Apollo实际上是一个噱头,实际上是AdobeAIR,是一个桌面RIA的Framework,说它是Framework就是说,它实际上有点像.net Framework,还不明白的就理解为Adobe开发的.netframework3.0就行了,你要在这玩意儿的上面写程序才成,但是这玩意儿写出来的东西适用于桌面。就是这样了。所以这个名词放在这里有点不合适,但是,他又与flex有着千丝万缕的联系,比如支持AS什么的,这玩艺儿我没用过。
WPF这个东西更复杂了,简单来说他是.netframework3.5的一部分,当然也可以独立出来。就也把它看作一个类库就成了,一个表现层的框架。主要提供图形媒体方面的。这个名词放在这也有点不合适。
现在回归正点,说说Siverlight,这是一种名副其实的与FLASH(FLEX)并列的WEB-RIA技术。好像他包含了WPF的一部分,又包含了.netframework3的一部分,为什么只包含一部分呢?因为WEB上面,用不了那么多吧。这是我个人的理解。我不知道为什么silverlight的安装程序那么小,只有1兆多。1.1只有4兆多,我真的不知道为什么这么小。而.netframework那么大。莫非精简到web上就只剩下这么点儿了么?呵呵也许吧。不过我不看好这个silverlight毕竟他没有提供ActiveX模式,用户安装起来太麻烦了,竟然还需要exe。当然了,为了跨浏览器,用exe效果更好,但是不考虑用户体验阿,网吧怎么办呢?对吧。而且,这玩意儿,不知道支不支持商业模式(dll模式)也就是编译模式。我看网络上有人说支持,我没有弄出来过,似乎需要Oscar才能编译出dll。我用vs编译出来的silverlight全都是基于XAML开源的,这样的话不利于商业应用。
根据Allan所言,silverlight1.1支持dll模式。
http://www.dc9.cn说说奇怪的javafx吧,sun也似乎貌似想涉及RIA领域,但是运行JAVAfx竟然要我安装NetBeans的IDE,装这个不是太麻烦了吗。于是我没有装。这个玩意是否支持编译模式我不知道。貌似不支持。
最后来说说有意思的GoogleGears,一出来竟然获得了什么2007年创新第一名的称号。真得很不可思议。仔细一看,也不支持编译模式。而且这个东西也是像SilverLight一样需要EXE安装的。也不算大。问题是,这个东西是基于js扩展的,实在不理解为什么要做成这样的,话说siverlight也可以做成全js+xaml。gears全部都是开源的,我觉得商业价值也不是很大的说。
怎么看来看去还是flex牛比呢?
不过这玩意儿就是仁者见仁,我说编译模式好,你可能说这玩意儿不利于SEO.我说SEO有个屁好,你说有益于SEO就是好。无休止的争论也没什么意义。反正我就是看好Flex,因为支持编译模式并且安装简单,只需要ActiveX.
如果SilverLight也支持编译模式,我义无反顾支持SilverLight,因为我更喜欢这种.net编程方式。