但是,在搜索网络时,我对Flash / Flex的事情感到困惑,因为他们说Flash是制作动画的,而Flex是真正创建Web应用程序的。那么我应该使用什么?他们所说的Flash是指Flex吗?还是对于这样的程序Flash就可以了?我应该使用Flash Pro.还是Flash Builder?学习ActionScript还是XMXL?
看起来网上有大量关于此内容的文章,但是我读得越多,就越感到困惑。
提前致谢。
Flash播放器提供了呈现矢量图形和光栅图像以及在虚拟机中运行用户代码的能力。播放器是Flash平台的核心,使内容可以在多个平台上运行(通常无需进行任何特定于平台的修改)。播放器中有一些API实际上是本地代码,但可以从ActionScript中调用。
ActionScript是Flash平台的高级语言选择。还有其他语言,最值得注意的是Haxe,但它们不受Adobe工具的支持。该语言有三个版本:ActionScript 1、2和3。前两个在Flash 9之前使用,后者引入了完全重写的虚拟机(AVM2),因此也引入了AS3。旧版的语言在称为AVM1的较旧虚拟机中运行。为了保持向后兼容性,旧版内容可以在新的启用AVM2的播放器中运行。Flash实际上非常好地处理了向后兼容性。
Flash Professional,也称为Flash IDE,是制作Flash内容的工具名称。它最初只是用于创建动画,但随着flash电影格式具备脚本功能,该工具也具备了脚本能力。然而,脚本一直是该工具的问题儿童。虽然过去几个版本在这个领域看到了改进,但与其他更注重开发人员的环境相比仍然显得不足。该工具仅编译纯ActionScript项目,不用于开发Flex应用程序,通常被认为比开发人员友好。
Flex是Adobe的企业应用程序框架的名称。它有几个关键技术,不仅仅是核心功能库。我将试图简明扼要地解释下面框架的关键技术。Flex SDK实际上是开源的,可以自由使用来开发应用程序。但是,虽然它包含了构建Flex应用程序所需的所有内容,但实际上并不包括IDE。
MXML是一种声明性语言。它通常用于声明式定义视图,但可以用于许多其他事情。例如, swiz framework利用MXML通过IoC声明式定义依赖项。当然,swiz还有很多内容,但这超出了本答案的范围。
MXMLC和COMPC是用于编译flex项目的两个编译器。前者用于编译swf应用程序,后者用于编译swc库。
核心库除其他外,还包括两个标准组件集:MX和Spark;前者通常称为Halo。MX是较旧的组件集,虽然仍受支持,但被认为已经过时,并且一旦Spark与MX具有相同的功能,它可能会被逐步淘汰。这两个组件集在很大程度上彼此兼容,并且可以在同一个应用程序中良好地共存。提供的其他值得注意的功能是相当全面的数据访问和管理功能,包括文本数据(如XML或JSON)和二进制数据(AMF)。
该库通常称为Flex或Flex框架。
这并非完全正确。您可以使用Flash Professional来开发和编写本地Actionscript 3代码,同时还能在设计师层面上创建图像/动画等。
回答您的问题,如果您想要使用MXML编码,那么您需要使用Flash Builder。如果您想要使用本机AS3编写,则可以使用其中任何一种。两者都可以工作,但从个人经验来看,使用本机AS3会更自由。此外,对于您想要制作的应用程序类型,性能可能是非常重要的,因此推荐使用AS3以获得完全控制。
编辑:此外,如果您熟悉C++或Java或任何其他面向对象的编程语言,我相信在ActionScript3中编程会感觉非常亲切。
我认为这就是答案: Flash Professional 是给设计师用的,而 Flash Builder(Flex)则是给程序员用的。
使用 Flash Builder,你需要学习 MXML 和 ActionScript 两种语言。MXML 用于声明式 GUI 布局,而 ActionScript 则是编程语言。
Flash是整个平台的名称(类似于.NET或Java)。Flex是建立在Flash之上的框架。因此,使用Flex就是技术上也在使用Flash。
您的两个主要开发选项是Flash专业版IDE和Flex(通过编译器手动操作或通过Flash Builder IDE)。区别在于如何创建用户界面:在Flash专业版中,您可以直观地设计元素,而使用Flex则需要使用MXML进行编码(虽然Flash Builder也配备了一个更基本的可视化设计器)。这两种工具都使用ActionScript进行应用程序逻辑,不过Flash专业版将其更多地用作脚本语言而不是传统的编程语言。
由于您将要做的事情比设计更多,所以我认为Flex更适合您的应用程序。要开始,请查看 Learn Flex in a Week。
"