
关于该问题大家讨论了好多天.从各位的讨论中我也在思考这个问题.从大家的回答的中也让我学到了不少东西.在这里我也想谈谈我个人的一点想法.
Flash目前是一个很流行的多媒体开发工具,在很多领域都有突出的表现(好像在国内Flash动画最火),其在用户界面和交互性方面表现最为突出,但是在企业级的应用中由于其开发的复杂性,往往令大家发怵.Flex可以让用户通过使用很简单的基于XML的语言来定义丰富的用户界面.该语言可以由服务器或者通过IDE编译成为SWF文件.呵呵..从而由很多朋友开始对此产生怀疑,认为是不是现在Flex可以取代Flash了??但是我认为是不可以替代的.Flex只是对现有技术的一个很好的补充,因为使用Flex可以快速的为整个企业级的系统软件开发出一个功能强大的表示层,从而提高现有应用程序的开发效率,而在原来才用传统的Flash开发方式需要花很长的时间.通常情况下,你可以将基于Flex的用户界面与现有的业务逻辑组件或者Web服务连接起来,而无需任何改动.
尽管Flex不可能取代Flash,但是两者的联系紧密.他们都是来自同一个祖先--SWF,它是Flash的字节码格式.在Flex中我们通过ActionScript来控制组件之间的逻辑关系,用MXML来定义用户界面.在Flash中其实也是通过ActionScript来控制业务逻辑,但在Flash中你可以自己来控制画面显示以及用户界面.
前面我们提到的企业级的概念,说白了Flex就是快速连接企业级应用的一个框架.打个比方,如果有一个ERP(企业资源计划)的项目为了提高最终用户的体验才用Flash替代以往的HTML来开发前台用户界面,这样虽然最中可以达到提高用户体验度的目的.但是相对于时间复杂程度及开发成本大打折扣.Flex则为熟悉服务器端编程方式,开发战略性的应用程序的企业级应用程序开发者提供了Flash技术的强大功能.Flex尤其适合客户端界面的服务器端开发,类似使用Java或JSP.
在Flex中没有时间轴的概念,没有大量的Motion或Tween,有的只是标记和Actionscript.在需要大量过渡以及视觉冲击的应用中,仍然需要Flash.因此要根据不同的需要来选择不同的开发框架.在为了实现一些小游戏或者一些宣传动画的情况下一般才用Flash开发.但是在系统比较大,开发周期短等情况下,在开发进度和复杂性要求比较高.这样就可以才用基于Flash Player的Flex进行快速开发表示层.
但是据我所知,大多数Flex的开发人员都是从以往的Flash开发转过来的.学习Flex要具备多方面的知识.如:XML,Actionscript(不是简单的 gotoAndPlay(),stop()这样的脚本),还有其它面向对象的编程语言如Java.但是这只是说明对某些人群有一定的难度.但是平心而论对一个程序员来说没有太大的难度,门槛一点也不高.
最后我认为Flex对大家的障碍也许是资料太少,很多资料大多是英文的,这对E文不太好的同学确实提高了学习难度,期望有更多更好的中文教程可以给大家交流学习.
谢谢!!
[ 本帖最后由 咸鱼茄子 于 2006-12-13 17:23 编辑 ]