Flash一词可以包括以下定义的任何其他术语,我发现说“ Flash”而未确切说明您的意思可能会造成混淆和误导。举例:我不确定您在问题中说“ Flash”时的具体含义。是Flash Player吗?创作工具?抑或是Adobe称之为“ Flash平台”的全部技术?为了帮助清除所有这些,让我定义创建Flash和Flex内容所涉及的技术,以便我们在此处使用相同的术语:
Flash Player是用于在浏览器中播放富媒体内容的运行时。还有Flash Lite可以在较旧或低端的移动设备上运行Flash内容,并且Adobe AIR扩展了Flash Player,以允许内容作者发布可以与文件系统,窗口系统和设备等集成的本机桌面和移动应用程序加速度计和相机之类的传感器。Adobe统称为Flash运行时。
传统上,Flash Professional(通常称为Flash创作工具或Flash IDE)是用于创建在Flash Player上运行的内容的主要应用程序。它是非常注重设计师的,具有时间轴,图层和可视化绘图工具。与其他更专注于代码的开发工具(例如Flash Builder)相比,软件开发人员可能会发现此应用程序令人迷惑且受限。当有人说“我用Flash构建了某些东西”时,他们通常指的是Flash创作工具,但并非总是如此。因此,最好始终进行澄清以避免混淆。
ActionScript是Adobe支持以Flash运行时为目标的主要编程语言。当前版本是ActionScript 3(缩写为AS3),从Flash Player 9开始受支持。使用旧版本的ActionScript创建的内容仍可以在最新版本的Flash Player中运行,但是仅当使用ActionScript 3时才支持新功能。创建新内容。
柔性是一组技术,旨在创建针对Adobe Flash运行时的丰富应用程序。尽管之前说过“ Flex”与“ Flash”具有相同的歧义,但Flex品牌名称越来越集中于Flex框架和SDK,如下所述。
所述的Flex SDK包括编译器,一个命令行调试器,和Flex框架。包括的编译器为:1. MXMLC,ActionScript和MXML编译器,用于输出最终的SWF文件以部署到Flash Player。2. COMPC,一种用于ActionScript的静态库编译器,可输出SWC文件。3. ASDOC,基于编译器技术的文档生成器。
该Flex框架是旨在建立富互联网应用程序的ActionScript类的集合。它包括用户界面控件,Web服务和其他连接类,格式器和验证器,拖放,模式窗口和组件状态之类的东西。这些类在mx。*包中。通常,当开发人员在没有任何澄清信息的情况下说“ Flex”时,它们是指Flex框架,而不是以前称为Flex Builder的产品。
2011年,Adobe将Flex SDK捐赠给了Apache软件基金会。它现在称为Apache Flex,由社区而不是Adobe进行完全管理。但是,Adobe员工继续为该项目做出贡献,Flash Builder(请参见下文)继续支持Apache Flex项目发布的新SDK。
MXML是Flex编译器使用的基于XML的标记语言,可简化布局并将组件放置到容器中。XML的树状结构使包含层次结构更易于可视化。MXML实际上是在编译过程中转换为ActionScript的。
Flash Builder(以前称为Flex Builder)是一种开发环境,允许开发人员构建不同的项目类型来创建部署到Flash运行时的SWF文件。它建立在Eclipse平台上,软件工程师对此更加熟悉。Flash Builder支持使用Flex或纯ActionScript构建的项目。Flex项目包括Flex框架。从单个类和一个空的画布开始,ActionScript项目是您可以使用的最基本的项目,并且不包含Flex框架。
Flash Builder不会替代Flash Professional。传统上使用Flash Professional的某些人现在可以选择使用Flash Builder。通常,这些软件工程师会欣赏或需要Flash Builder提供的高级开发工具,或者不会大量使用可视化工具中设计的资产。一些开发人员可能选择在Flash创作工具中编译其项目,同时在Flash Builder中编写其代码。这些开发人员通常也是设计师,或者与其他设计师一起工作。在这种情况下,可能会在Flash创作工具中创建许多图形资产,并且将它们带入另一个环境可能很困难或根本不合适。
Flex框架专门用于构建应用程序。它包括许多传统的表单控件(按钮,列表,数据网格等),并且许多代码都在用ActionScript编写的高级组件框架上运行。并非每个人都在构建Flex旨在创建的那种内容,并且Flex并不能为每个人替代传统的Flash开发实践。对于某些开发人员而言,这是一种更好的方法,但对于其他开发人员而言可能并不正确。更多设计繁重的网站,例如为电影,音乐,能量饮料,广告活动而创建的网站,可能不应该使用Flex框架。这些类型的内容可能更适合Flash Professional或Flash Builder中的纯ActionScript项目。同样,您放置在网站侧栏或社交网站中的个人资料中的小部件可能需要使用纯ActionScript(无Flex框架)构建,因为它们需要较小的文件大小并且可能不需要复杂的文件专为大型应用程序设计的组件体系结构。以Flash运行时为目标时,应根据项目的要求和目标选择开发环境,框架和工作流。