apache-flex 我应该使用Flash还是Flex?

prdp8dxp  于 2022-10-31  发布在  Apache
关注(0)|答案(4)|浏览(269)

在SO,我问我应该用什么语言来创建一个网络应用程序,当用户点击“提交”时,它会从用户的网络摄像头捕捉视频并将其发送到服务器,答案主要是Flash。
但是在网上搜索的时候,我对Flash/Flex感到困惑,因为他们说Flash是用来制作动画的,Flex是用来真正创建Web应用程序的。
那么我应该用什么呢?他们说的Flash是指Flex吗?或者对于像这样的程序来说,Flash就可以了吗?我应该用Flash Pro还是Flash Builder?学习ActionScript还是XMXL?
可能看起来网上有很多关于这个的内容,但是我读得越多,我就越困惑。
先谢谢你。

xoshrz7s

xoshrz7s1#

我建议使用Flex编写此应用程序。主要是因为在我看来Flex工具链比Flash Professional好 * 很多 *。虽然您的问题中没有任何内容真正需要Flex框架,您可能会从使用它中受益。这不仅是因为它上级的开发环境,而且还因为Flex框架中的一些功能使处理数据变得更加容易。
无论如何,这里似乎有很多关于术语的混乱,所以我将尝试澄清一些事情:

免责声明:这并不是一个关于所有闪光点的完整列表。虽然我已经尽了最大的努力做到实事求是,但为了简洁起见,我很可能遗漏了一些重要的细节(嘿,至少我试过了),在其他情况下,我可能只是错了。通常关于考虑来源的警告也适用。
*Flash播放器,提供渲染矢量和光栅图形以及在虚拟机中运行用户代码的功能。播放器是Flash平台的核心,使内容能够在多个平台上运行(通常无需任何平台特定的修改)。播放器中有许多API实际上是本机代码,但可以从ActionScript调用。
*ActionScript是Flash平台的高级语言选择。还有其他语言,最著名的是Haxe,但Adobe的工具不支持它们。该语言有三个版本:ActionScript 1、2和3。前两个在Flash 9之前使用,Flash 9引入了完全重写的虚拟机(AVM 2),因此也引入了AS 3。前一种语言在称为AVM 1的旧虚拟机中运行。为AVM 1制作的旧内容可以在启用AVM 2的新播放器中运行。它们仍将在AVM 1模式下运行,但是,为了保持向后兼容性。Flash实际上非常好地处理了向后兼容性。
*Flash Professional,也称为Flash IDE,是制作Flash内容的工具名称。它最初只是一种制作动画的方式,但随着Flash电影格式获得脚本编写功能,该工具也获得了脚本编写功能。但是,脚本一直是这个工具的私生子。虽然过去的几个版本在这方面有所改进,但与其他更以开发人员为中心的环境相比,它仍然相形见绌。不用于开发Flex应用程序,通常被认为对设计人员比对开发人员更友好。
*Flex是Adobe企业应用程序框架的名称。Flex有几项关键技术,而且它不仅仅是一个核心功能库。下面我将尝试简要地解释框架的关键技术。Flex SDK实际上是开源的,可以自由地用于开发应用程序。然而,尽管它包含构建Flex应用程序所需的任何内容,它实际上并不包含IDE。
*MXML是一种声明性语言。它通常用于声明性地定义视图,但也可用于许多用途。例如,swiz framework利用MXML使用IoC声明性地定义依赖项。当然,swiz还有很多功能,但这超出了本答案的范围。
*MXMLC & COMPC是两个用于编译flex项目的编译器,前者用于编译swf应用程序,后者用于编译swc库。
*核心库包括两个标准组件集:MX和Spark;前者通常被称为Halo. MX,是一个较旧的组件集,虽然仍受支持,但被认为已过时,一旦Spark达到与MX相同的功能,很可能会被淘汰。然而,这两个组件集在很大程度上彼此兼容,可以在同一应用程序中很好地共存。提供的其他显著功能是非常全面的数据访问和管理功能,用于基于文本的数据(如XML或JSON)以及二进制数据(AMF)。

该库通常称为FlexFlex框架

*Flash Builder是Adobe用于开发Flex应用程序的IDE。虽然它当然可以用于开发纯AS 3应用程序,但最常用于开发Flex应用程序。它是一个不错的IDE,具有现代开发环境中可用的大多数功能,但也有流行的替代产品,如PowerFlasher's FDT。虽然Flex SDK是免费的开源软件,Flash Builder既是专有软件,也是商业软件。

6tqwzwtp

6tqwzwtp2#

这并不完全正确。您可以使用Flash Professional在原生Actionscript 3中开发和编写代码,同时还可以在设计师级别进行开发,创建图像/动画等。
为了回答您的问题,如果您希望使用MXML编写代码,则需要使用Flash Builder。如果您希望使用原生AS 3编写代码,则可以使用这两种方法中的任意一种。这两种方法都可以使用,但是,根据个人经验,您可以更自由地使用原生AS 3。此外,对于您希望创建的应用程序类型,性能可能是最重要的,因此建议您使用AS 3进行完全控制。
编辑:还有,如果你熟悉C++或Java,或者任何其他面向对象的,我相信用ActionScript 3编程会感觉非常像家。

sycxhyv7

sycxhyv73#

IMO说明了一切:Flash Professional 适用于设计人员,而 Flash Builder(Flex)则适用于程序员。
使用Flash Builder,您必须学习MXML和ActionScript。MXML用于GUI的声明性布局,ActionScript是编程语言。

knsnq2tg

knsnq2tg4#

“Flash”是整个平台的名称(想想.NET或Java之类的东西)。“Flex”是构建在Flash之上的框架的名称。因此,通过使用Flex,从技术上讲,你也在使用Flash。
您可以选择使用Flash Professional IDE和Flex进行开发(通过其编译器或Flash Builder IDE手动进行)。不同之处在于创建用户界面的方式:在Flash Professional中,您可以以可视方式设计元素,而在Flex中,您可以使用MXML对元素进行编码(尽管Flash Builder还附带了更基本的可视设计器)。这两种工具都使用ActionScript来实现应用程序逻辑,尽管Flash Professional更多地将ActionScript用作脚本语言,而不是传统的编程语言。
由于您将进行更多的编程而不是设计,因此Flex更适合您的应用程序,IMO。要开始使用,请查看Learn Flex in a Week

相关问题