mr.*_*bio 1 apache-flex actionscript-3
由于Flex生成Actionscript.为什么不使用Actionscript?
对不起,我只是好奇.
我同意关于Flex适用于开发人员和Flash适用于设计人员的观点,但这并不能真正涵盖详细内容.
有三种主要方法可以生成Flash应用程序(SWF):1)使用Flash应用程序 - 时间轴方法,主要针对设计人员.
2)直接编写纯ActionScript并编译(通过诸如FlashBuilder或命令行之类的IDE),针对具有创造性耀斑的程序员或不介意弄脏他们的设计师.
3)编写'Flex' - 通常使用诸如FlashBuilder之类的IDE,但是可以在命令行上编译Flex应用程序.Flex是MXML(XML标记)和ActionScript.如上所述,Flex针对的是软件开发人员,通常是那些不太关注"创意"方面的人(将此责任委托给其他人,例如视觉设计师).
但是#2和#3之间存在很大差异.
ActionScript非常适合想要进行高度交互式和图形化Flash应用程序的程序员,例如,某些交互式演示或游戏.要通过ActionScript创建Flash应用程序,您需要创建一个ActionScript文件,添加元数据以指示它是一个应用程序,编译器将生成一个适当且通常非常小的SWF文件.纯ActionScript级别提供了一些组件,但与Flex相比,这些组件非常轻量级,大部分工作都是通过操作Sprite对象完成的.
Flex做得更多.它为开发人员提供了一组丰富的可换肤组件,用于构建应用程序,组件生命周期,效果和数据绑定等等.我会说Flex更适用于某些业务领域的丰富应用程序,通常采用基于表单的应用程序的格式,尽管您可以使用它做一些非常性感的事情并且可以吸引其他地方创建的资源(例如现有的Flash资源).
Flex应用程序具有顶级"应用程序"对象,该对象是包含组件层次结构的MXML文件.在编译/构建时,这个MXML文件被转换为ActionScript(很多它!有一个编译器标志,用于保存生成的ActionScript,请参阅文档了解更多信息),最终编译到可以在Flash Player中运行的SWF.
例如,您可以向Panel添加Labels,TextInputs,Buttons等,并将Panel添加到应用程序中.用户与这些组件交互,然后Flash应用程序以某种方式处理输入并更新视图.数据绑定允许您将对象标记为"可绑定",然后在可绑定属性更改时让Flex自动更新其他属性.
Flex应用程序倾向于生成更大的SWF,但这是因为它们带有Flex SDK的"包袱",尽管可以使用运行时共享库(有点像Flash的DLL,但是是高级主题)或模块来减轻这种情况.哪些SWF只能在Flex应用程序内部运行而不是独立运行.但是这个想法是应用程序被加载到客户端并且响应而不必像传统的Web应用程序那样执行页面请求.通过将应用程序分解为模块或使用上面提到的运行时共享库,可以提高对加载时间的感知.
老实说,我并没有用我的描述来做正义,但希望我能让这些差异更加清晰.