因为Flex会生成Actionscript。 为什么不使用Actionscript?!
抱歉,我只是好奇。答案 0 :(得分:5)
我同意关于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资源)。 / p>
Flex应用程序具有顶级“应用程序”对象,该对象是包含组件层次结构的MXML文件。在编译/构建时,这个MXML文件被转换为ActionScript(很多它!有一个编译器标志,用于保存生成的ActionScript,请参阅文档了解更多信息),最终编译到可以在Flash Player中运行的SWF。
例如,您可以向Panel添加Labels,TextInputs,Buttons等,并将Panel添加到应用程序中。用户与这些组件交互,然后Flash应用程序以某种方式处理输入并更新视图。数据绑定允许您将对象标记为“可绑定”,然后在可绑定属性更改时让Flex自动更新其他属性。
Flex应用程序倾向于生成更大的SWF,但这是因为它们带有Flex SDK的“包袱”,尽管可以使用运行时共享库(有点像Flash的DLL,但是是一个高级主题)来减轻这种情况。或模块,它们是仅在Flex应用程序内部运行而不是独立运行的SWF。但是这个想法是应用程序被加载到客户端并且响应而不必像传统的Web应用程序那样执行页面请求。如上所述,通过将应用程序分解为模块或使用运行时共享库,可以提高对加载时间的感知。
说实话,我并没有用我的描述做正义,但希望我能让这些差异更加清晰。
答案 1 :(得分:4)
Flex不会生成ActionScript。 Flex编译ActionScript。
无论如何,Flex是针对开发人员的Flash编程(他们不一定喜欢将基于timline的矢量编辑器作为主要的开发环境)。
此外,由于Flex是一个控制台应用程序,因此您可以将其功能包含在shell脚本等中。
答案 2 :(得分:3)
我认为一个修辞问题最能解决这个问题:
为什么不在所有项目中使用原始机器代码?
更详细地说,Flex Framework确实是用纯动作脚本编写的。它提供的动作远远超过动作脚本,并且像大多数框架一样,满足了对更高级别编程结构的需求,这些结构不是由它们编写的语言提供的。
答案 3 :(得分:1)
Adobe Flex和Adobe Flash只有一点不同:
根据Adobe :“Adobe Flash适用于设计人员,Adobe Flex适用于开发人员 .Flex适用于不喜欢的开发人员很满意时间轴的东西。“
Adobe Flash是一款功能强大的工具;然而, 随着越来越多的程序员参与其中 构建富Internet应用程序, 它很快就变得很清楚了 使用绘图工具不舒服, 时间表和其他视觉面板 创建表单和其他元素 这是业务的共同点 应用
创建Adobe Flex是为了解决这个问题 程序员的问题。
观看此视频:http://www.adobe.com/devnet/flex/videotraining/xml/vid01.html
如果你对时间表感到满意(我不是)那么根本就没有区别。您可以使用Adobe Flash。
答案 4 :(得分:1)
Flex框架允许开发人员编写应用程序比编写纯ActionScript更快。 Flex是用MXML编写的,MXML是一种“便捷语言”,并且有很多用于编写业务应用程序的预构建组件。
但是,如果您的目标仅用于创作目的,则Flash将成为更好的工具。但是如果你在AS3和Flex之间提出要求,我认为你不会像在Flash中那样在时间轴上补间。
如果您开始使用Flex,您会发现必须知道ActionScript才能为您的应用提供开箱即用的功能。另外,了解ActionScript对Flex和Flash世界都有好处(你也可以编写纯AS3应用程序,但根据我的经验,很少有人这样做。)