Flex 是什么? flex和flash是什么关系?flex 解决什么问题?flex和j2ee/.net是什么关系?
Flex 是 Macromedia发布的presentation server(展现服务),它是java web container或者.net server的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得.swf文件,传送到客户端,由客户端的flash player或者shockwave player解释执行,给用户以丰富的客户体验。
大名鼎鼎的Macromedia Flash是强大的矢量动画编辑工具,在作动画起家之后,Flash一直在谋求rich internet application(ria富客户端)的霸主地位,最有影响的是,已经推出了面向对象的编成脚本actionscript2.0,并且建立起类似于java swing的类库和相应component(组件)。Flex是通过java或者.net等非Flash途径,解释.mxml文件组织components,并生成相应得.swf文件。Flex的component和flash的component很相似,但是有所改进增强。
运用Flash是完全可以做到flex的效果的,为什么还需要flex呢?我理解这里面有两个原因:1,为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念和写程序的开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex用非常简单的.mxml来描述界面和jsp/asp/php程序人员使用.(x/d)html非常相似,而且mxml更加规范化、标准化。
2,为了一个标准。大家一定听说过微软下一代系统longhorn,在longhorn推出的同时微软也会推出新的语言xaml,一种界面描述语言,与之相应的就是smart client和flex非常相似的东西。Mxml和Xaml的也很相似… …由此带来的一些列好处就不用我说了。
Flex和j2ee/.net其实没什么关系,Macromedia用java做出来个应用把flash的技术融合到j2ee里面,再用.net的技术做出来个.net应用把flash技术融合到.net里面去;应该说flex解决了j2ee里面和.net最繁琐的问题那就是web 客户端的问题。微软比较卑鄙在ie里面built-in(事先安装好了)很多空间,可以被.net调用比如datagrid,java就没有办法啦,只能用最原始的html一个tag一个tag地print,真是头疼,还有客户端的javascript是最难调试的,不论java还是.net都束手无策。