问题

好吧,我对所有的流行语和新闻稿宾果游戏感到困惑。

  • flash和flex有什么关系:
    • 更换闪光灯(不太兼容)
    • 增强闪光
    • 下一个版本的flash但还是基本兼容的
    • 完全独立的技术
    • ???
  • 如果我现在开始使用 Flash,我应该直接跳到 Flex 吗?

跟进

好吧,我听到的是这个难题由三个不同的部分组成:

  • 闪光
    • 用于制作“Flash 电影”的图形编辑器,即它是一个专注于“Flash”视觉方面的 IDE(官方 Flash CS3?)
    • 显示插件的正式名称(即“立即下载 Flash!”)
    • 整个技术栈的一般参考
    • 就编辑器而言,它是一个基于线性时间线的编辑器,最适合具有复杂交互性的动画。
  • 动作脚本
    • “Flash”编程语言
  • 柔性
    • 一个 Adob​​e Flash IDE,专注于“Flash”的编码/编程方面(Flex Builder?)
    • 一个 Flash 库,可增强 Flash 并使其更容易 程序 对于(Flex SDK?)
    • 不受时间线的限制(Flash IDE 是这样),因此“标准”应用程序更容易完成。

它是否正确?

-亚当

有帮助吗?

解决方案

Adobe Flex Builder 是 Adob​​e 的 IDE,用于开发将在 Flash 插件中运行的应用程序。Flex SDK 是指开发人员用来编写应用程序的库。

本质上,术语“Flex”是 Adob​​e 技术的开发方面,而“Flash”是 Adob​​e 技术的运行时方面。

更正: 术语“Flash”也用于指设计人员使用的 Flash IDE。

其他提示

期限 闪光 可以包括下面定义的任何其他术语,并且我发现在没有确切说明您的含义的情况下说“Flash”可能会令人困惑和误导。例证:当您在问题中说“Flash”时,我不确定您的具体含义是什么。是Flash播放器吗?创作工具?或者 Adob​​e 所谓的“Flash 平台”下的整个技术集合?为了帮助澄清这一切,让我定义一下创建 Flash 和 Flex 内容所涉及的技术,以便我们在这里都使用相同的术语:

Flash播放器 是浏览器中富媒体内容的运行时。还有 闪存精简版 在较旧或低端的移动设备上运行 Flash 内容,以及 Adobe AIR 扩展了 Flash Player,允许内容作者发布本机桌面和移动应用程序,这些应用程序可以与文件系统、窗口系统以及加速计和相机等设备传感器等集成。Adobe 将这些统称为 闪存运行时.

闪存专业版 (通常称为 Flash 创作工具 或者 闪存集成开发环境)传统上是用于创建在 Flash Player 上运行的内容的主要应用程序。它非常面向设计师,具有时间轴、图层和可视化绘图工具。与其他更注重代码的开发工具(如 Flash Builder)(见下文)相比,软件开发人员可能会发现此应用程序令人迷惑且受到限制。当有人说“我用 Flash 构建了一些东西”时,他们通常指的是 Flash 创作工具,但情况并非总是如此。因此,最好始终进行澄清以避免任何混淆。

动作脚本 是 Adob​​e 支持的针对 Flash 运行时的主要编程语言。当前版本是 ActionScript 3(缩写为 AS3),从 Flash Player 9 开始就支持该功能。使用旧版本 ActionScript 创建的内容仍然可以在最新版本的 Flash Player 中运行,但仅在使用 ActionScript 3 创建新内容时才支持新功能。

柔性 是旨在创建针对 Adob​​e Flash 运行时的丰富应用程序的技术集合。尽管以前所说的“Flex”与“Flash”具有同样的歧义,但 Flex 品牌名称正变得越来越关注 Flex 框架和 SDK,如下所述。

软件开发工具包 由编译器、命令行调试器和 Flex 框架组成。包含的编译器是:1.MXMLC,一个 ActionScript 和 MXML 编译器,用于输出最终的 SWF 文件以部署到 Flash Player。2.COMPC,ActionScript 的静态库编译器,可输出 SWC 文件。3.ASDOC,一个基于编译器技术构建的文档生成器。

柔性框架 是一个 ActionScript 类的集合,旨在构建富 Internet 应用程序。它包括用户界面控件、Web 服务和其他连接类、格式化程序和验证程序、拖放、模式窗口和组件状态等内容。这些类位于 mx.* 包中。一般来说,当开发人员在没有任何澄清信息的情况下说“Flex”时,他们指的是 Flex 框架,而不是以前称为 Flex Builder 的产品。

2011年,Adobe将Flex SDK捐赠给Apache软件基金会。现在被称为 阿帕奇柔性 它完全由社区而不是 Adob​​e 管理。然而,Adobe 员工继续为该项目做出贡献,Flash Builder(见下文)继续支持 Apache Flex 项目发布的新 SDK。

MXML 是一种基于 XML 的标记语言,Flex 编译器使用它来简化布局并将组件放入容器中。XML 的树状结构使包含层次结构更易于可视化。MXML实际上是在编译过程中转换为ActionScript的。

闪存生成器 (原名 弹性生成器)是一个开发环境,允许开发人员构建不同的项目类型以创建部署到 Flash 运行时的 SWF 文件。它构建在Eclipse平台之上,对于软件工程师来说更加熟悉。Flash Builder 支持使用 Flex 或纯 ActionScript 构建的项目。Flex 项目包括 Flex 框架。ActionScript 项目是您可以使用的最基本的项目,从单个类和空画布开始,并且不包括 Flex 框架。

Flash Builder 不会取代 Flash Professional。一些传统上使用 Flash Professional 的人现在可能会选择使用 Flash Builder。通常,这些软件工程师欣赏或需要 Flash Builder 提供的高级开发工具,或者不大量使用可视化工具中设计的资产。一些开发人员可能会在 Flash Builder 中编写代码,同时选择在 Flash 创作工具中编译项目。通常,这些开发人员也是设计师,或者他们与其他设计师一起工作。在这种情况下,可能会在 Flash 创作工具中创建许多图形资源,并且将它们带入另一个环境可能会很困难或根本不合适。

Flex 框架是专门为构建应用程序而设计的。它包括许多传统的表单控件(按钮、列表、数据网格等),并且大部分代码在用 ActionScript 编写的高级组件框架上运行。并非每个人都在构建 Flex 旨在创建的内容,并且 Flex 不会取代每个人的传统 Flash 开发实践。对于某些开发人员来说这是更好的方法,但对于其他开发人员来说可能不合适。更多设计密集型网站,例如为电影、音乐、能量饮料、广告活动等创建的网站可能不应该使用 Flex 框架。这些类型的内容可能更适合 Flash Professional 或 Flash Builder 中的纯 ActionScript 项目。同样,您放入网站侧边栏或社交网站个人资料中的小部件可能需要使用纯 ActionScript(不带 Flex 框架)构建,因为它们需要较小的文件大小,并且可能不需要专为大型应用程序设计的大型复杂组件架构。当针对 Flash 运行时时,应根据项目的要求和目标选择开发环境、框架和工作流程。

是啊,我也被这个问题迷惑了好一阵子。

Flex 似乎是“Flex Builder”IDE(基于 Eclipse)的名称,并且使用 XML 和 ActionScript 而不是普通的 Flash 工具。

我认为 mxml 和 ActionScript 方法(即Flex) 的设计目的是为了更多地吸引程序员,而 Flash 方面的设计更多的是为了吸引图形设计师。

任一方法的最终结果都是一个 .swf 文件,该文件可以在浏览器的 flash 播放器插件中运行(尽管使用 Flex,如果您想要访问文件系统并离线运行等,您可以瞄准 Adob​​e Air 运行时)。

我的建议是,如果您有编程背景,请从 Flex 开始。

Flex 和 Flash 有什么区别?

我把它记在心里并向别人解释的方式如下:

为您想要创建的内容选择正确的工具。

如果您想使用 Flash 技术编写应用程序,请使用 Flex。

如果您想使用 Flash 技术创建动画,请使用传统 Flash。

Flex 针对应用程序构建进行了优化(但您可以使用状态创建原始动画),并且它可以编译为 SWF。

Flash 针对动画构建进行了优化,但您也可以通过一些额外的工作来创建应用程序,并将其编译为 SWF。

获得 SWF 后,您就可以在 Flash 播放器中播放,尽管 Flex 需要 Flash 9 或更高版本。

综上所述

应用程序 -> Flex -> SWF

动画->Flash->SWF

希望这可以帮助。

造成混乱的部分原因是“Flash”有多种含义。Flash 可以指多种应用程序之一,也可以指 SWF 背后的通用技术。

有的是 闪光CS3 Adobe 销售的产品。这通常针对设计人员,并使用基于时间线的方法来创建 SWF。以前,Flash 产品是创建 SWF 的唯一方法,而 SWF 通常仅用于动画和其他在浏览器中不可能实现的视觉效果。

然后就是 Flash播放器. 。这是用于运行 SWF 的应用程序/插件。SWF 也可以封装在“投影仪”中,允许它们作为独立应用程序运行,但这并不常见。

在某个时候(我不知道什么时候)Flash 开始用于更具交互性的应用程序。Flash 产品不太适合这种工作,因为它是为创建动画而设计的。认识到这一点,Macromedia 创建了 柔性. 。Flex 是另一种用于创建 SWF 的开发环境,但它更多地针对开发人员而不是设计人员。最新版本是 弹性3. 。这 软件开发工具包 免费提供,包括命令行编译器、调试器和类库。Adobe 还提供(供购买) 弹性生成器 app,一个基于 Eclipse 的 IDE,用于使用 Flex 创建 SWF。有一些免费的 IDE 可用于使用 Flex,最著名的是 Flash开发, ,尽管我不知道有任何一个为 MXML(Flex 用于定义 UI 的标记语言)或调试器的可视化包装器提供可视化设计器。

如果您从开发人员的角度接触 Flash,那么您会想要使用 Flex。它可能更接近您习惯处理的内容,并且似乎是 Adob​​e 总体上推动 Flash 的方向。

闪光 是一个 运行环境 - 您使用 Flash 创作工具制作一些 Flash 内容,Flash 播放器处理您的内容、执行脚本并将适当的图片绘制到屏幕上。

柔性 是一个 开发框架 - 您使用 Flex 开发工具来定义基于组件的内容应如何工作,然后 Flex 为您生成 Flash 内容。您可以使用 Flash 创作工具做出同样的事情,但使用 Flex 可以让您避免重新发明一些轮子。

从功能上来说,Flash 是一个极其通用的运行时;它给你很大的自由去做任何你想做的事情。但如果您正在构建贷款模拟器,您可能不需要自由地精确定义所有下拉菜单和屏幕转换的工作方式。也许您宁愿只使用预制组件来处理这些内容,这样您就可以专注于贷款内容。Flex 可以让您做到这一点,但代价是,如果您认为确实需要很大的自由度来更改所有细节,那么可能会需要大量工作。

这是另一个基于您如何描述要开发的应用程序的简单视图。

您是否希望它具有您期望工作站提供的高度精细的 UI 功能(例如Windows)应用程序,具有相当完整的控件集(列表框、组合框、网格等)?

Flex 可以满足您的需求。

您是否希望将其交付到大多数浏览器中运行(即Flash 安装/可安装的任何地方)?

Flex 可以满足您的需求,因为它在 Flash 虚拟机中运行。

您是否还希望能够使其在操作系统中运行,而不是在浏览器中运行(只需进行最少的编码更改?)

Flex 可以为您提供这一点,它允许您不在 Flash VM 中运行它,而是在 Adob​​e AIR VM(具有适用于 Windows、Mac 和 Linux 的版本)中运行它,该 VM 为常见操作系统资源(如文件系统、操作系统对话框)提供包装器-box UI 组件(例如“打开/文件/等)

您可以使用 javascript 作为开发语言吗?您需要这样做,因为它是唯一受支持的语言,采用 ActionScript 形式,它是 javascript 的超集 - 它直接接受 javascript 代码。

所以划分的部分是:

  1. 运行时环境,可以是 Flash 浏览器插件,也可以是 AIR 运行时(相当于本机操作系统)。

  2. Actionscript 作为开发语言。

  3. 一堆控件和其他资源库,即典型的Window、Frame、Combobox、Listbox、Image 容器、TextBox、TextArea、所见即所得的RichTextArea 等)这些都是Flex 的范畴。

仅使用上述资源,您就可以使用免费的命令行编译器来构建应用程序,就像使用任何其他带有库的命令行编译器语言一样。

然后,如果您想要一个精美的 IDE,可以使用 Flex Builder,它是对优秀 Eclipse 的一组扩展(售价数百美元)。或者还有其他几个或多或少相同的 IDE。

柔性是一个 框架 FlexBuilder 是一个 集成开发环境 (为了解决两者之间的混淆,adobe 将 FlexBuilder 重命名为 FlashBuilder)

如果你不知道什么是 框架 是:

Flex 之于 Flash 就像 CodeIgniter 之于 PHP

或者喜欢什么 .net 是。

我喜欢将框架视为扩展一种语言,就像扩展 OOP 中的类一样。

Flex 是一个开发框架,可将 xml 和 actionscript 编译为 SWF,在访问网站的客户端计算机上运行。它还可以使用 Adob​​e AIR 作为桌面应用程序运行。Flash 使用绘图画布而不是 xml。编译后的 SWF 可以称为 Flash,这增加了混乱。您可能会发现 Flex 与 ASP.NET 类似,它采用 xml 和 c#(vb.net 等)并编译为 dll。当然,ASP.NET 运行在 Web 服务器上。

如果您在 Flex 和 Flash 之间选择应用程序,请考虑该应用程序是否基于数据。如果您想制作一个漂亮的电子表格应用程序,Flex 将是您的最佳选择。如果您正在创建视频游戏或某种演示文稿,您可能需要 Flash。

接下来,我发现了一篇关于该主题的非常有用的文章:

Adobe Flash 和 Flex — 哪一个对您的项目最有意义?

Flash Integrated开发环境(IDE)(又称当前版本为Flash CS3)是开发角色动画或线性动画项目的理想工具。这些项目几乎不需要编码,并且可以通过Flash IDE时间轴有效地实现。

换句话说,Flash CS4 与时间线的绑定非常紧密 - 非常适合线性序列或动画。虽然人们可以以跳转到时间轴上新点的形式添加循环和交互性,但这对于无法轻松地随着时间的进展进行规划的项目来说是有限的。

简而言之,它是一种具有非常强大的交互功能的动画工具 - 动态创建和组合新元素,并在时间轴上跳跃允许创建应用程序,Flash CS4 IDE 使这相对容易,但它并不是应用程序风格软件的绝佳平台。

Flex 的构建是为了解决这个问题 - 虽然它使用相同的元素并公开代码,但它不受时间线的约束,并且与面向对象的编程语言比动画语言有更多的共同点。

Flex Builder IDE 包括编程 IDE、用于快速构建界面的 GUI 设计器,以及用于开发在 Flash 播放器上运行的应用程序的其他一些工具。

Flex 和 Flash 有不同的目标受众。Flex 更适合开发人员,而 Flash 更适合设计师和艺术家。

Flashdeveloper 被认为是开发 Flex 应用程序的免费工具。我只想添加一个免费工具来设计应用程序(使用设计器创建 MXML 文件): 设计视图. 。它可以直接在 adobe 网站上使用,它是一个基本的 Air 应用程序,但可以让您自由、轻松地了解 Flex 的可能性。

Flex 是一个基于 ActionScript 的免费开源框架,用于开发 SWF 和 AIR 应用程序。Flex Builder(现已在版本 4 中更名为 Flash Builder,以避免混淆)是 Adob​​e 的一款商业 IDE,用于使用 Flex 框架开发 SWF/AIR。虽然 Flash (CS3) 适合动画相关的内容,但 Flex 适合应用程序/UI 相关的内容。Adobe 将 Flex 定位为 RIA(富互联网应用程序)框架。

Flex 也可以在 Linux 上运行,而 Flash 则不能。
Flex 有点像 Flash CS 4 第二版。

Flex 的图形化程度较低,因为它将编译器和 IDE 分开,允许命令行编译(makefile、大型项目),从而允许使用 Flash 的替代 IDE。

编辑:
Flex 缺少 Flash CSX 所具有的一些类(例如fl.controls),而 Flash 缺少 Flex 拥有的一些类(例如mx.controls 或 mx.alert)。

总而言之:
您可以通过下载 Flex 4 SDK 和 FlashDevelop 免费拥有自己的 Flash 编译器。但它无法替代Flash。
Flash 生成的文件要小得多(例如Flash 将项目编译为 100 kB,而 Flex 将同一项目编译为 500 kB)。所以Flash是针对互联网多媒体应用的,而Flex是针对桌面多媒体应用的。

Flex Builder 3 --> Flash Builder 4,即使您将其用于 Flex。您也可以将其用于 Flash。如果你真的想了解所有这些东西,你应该买一顿丰富的午餐,因为它可以节省你几个月的时间。Adobe 制作了一些很酷的产品,但也以 懒惰的公司, ,这会导致文档极其糟糕。除非您是“livedocs”的粉丝,这是 Adob​​e 创造的一个术语,用于描述“缓慢且臃肿的 HTML”。

“Adobe Flex 是 Adob​​e Systems 发布的技术集合,用于开发和部署基于专有 Adob​​e Flash 平台的跨平台富互联网应用程序。”

Adobe Flex

Flash 是一种与 JavaScript 非常相似的编程语言,但支持静态类型。

Flex 是一个 Flash 库,旨在帮助人们在更高水平上进行 Flash 编程。

对于某些人来说,将其视为 Flex 相对于 Flash 就像 MFC 相对于 C++ 一样,可能会有所帮助。

Flex 基本上是一种编译为 Flash“电影”或“小程序”的语言,将在 Adob​​e Flash 播放器插件中运行。

简而言之,Flex 技术使用 MXML 来创建应用程序。MXML 类似于 HTML,Flash 组件类似于表单元素之类的东西。

MXML 基本上允许您指定在应用程序屏幕上显示哪些 Flash 组件(例如表格、下拉列表或您在 Flash 中构建的自定义组件)。

这是一个 非常 简化的答案,但这就是我解释 Flex 的方式。

(Flex Builder 是您开发 Flex 应用程序和 Flash 应用程序的环境)

Flex 不是一种编程语言。flex 是一个用于通过 Flash 运行时开发富互联网应用程序的框架,包括 ActionScript 和 MXML 作为语言。

Flex 是用于构建跨平台富互联网应用程序的技术、工具和框架的集合。

我找到的“什么是 Flex”的最佳答案位于此页面:http://www.adobe.com/products/flex/faq.html#flex-flash

搜索“Flex 与 Flash 有何不同?”

我对此的解释是,如果您的应用程序是从 Flash Professional 生成的,那么它就是一个“Flash”应用程序。如果它是使用 Flex SDK(Flash Builder、Flash Develop 或直接代码和命令行工具)生成的,那么它就是一个“Flex”应用程序。“Flash”应用程序和“Flex”应用程序都编译成可由“Flash Player”或“Adobe AIR”运行的字节码。两种类型的应用程序都可以包含“Actionscript”代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top