什么是Adobe Flex?它只是Flash II吗?

时间:2008-09-12 14:06:11

标签: flex flash

问题

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

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

跟进

好的,所以我听到的是这个难题有三个不同的部分:

  • 闪存
    • 用于制作“Flash电影”的图形编辑器,即它是一个专注于“Flash”视觉方面的IDE(官方Flash CS3?)
    • 显示插件的官方名称(即“立即下载Flash!”)
    • 对整个技术堆栈的一般参考
    • 就编辑而言,它是一个基于线性时间轴的编辑器,最适合用于具有复杂交互性的动画。
  • 的Actionscript
    • “Flash”编程语言
  • 的Flex
    • 专注于“Flash”(Flex Builder?)
    • 的编码/编程方面的Adobe Flash IDE
    • 一个Flash库,可以增强Flash并使其更容易编程(Flex SDK?)
    • 未绑定到时间轴(如Flash IDE所示),因此“标准”应用程序更容易实现。

这是对的吗?

- 亚当

22 个答案:

答案 0 :(得分:132)

答案 1 :(得分:34)

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

基本上,“Flex”一词是开发方,“Flash”是Adobe技术的运行时。

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

答案 2 :(得分:11)

是的,我也很困惑这一点。

Flex似乎是'Flex Builder'IDE(基于Eclipse)的名称,以及使用mxml和ActionScript而不是普通flash工具构建Flash文件的一般方法。

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

任何一种方法的最终结果都是.swf文件,可以在浏览器的Flash播放器插件中运行(尽管使用Flex,您可以定位Adobe Air运行时,如果您想要访问文件系统并脱机运行等)

如果你是来自编程背景,那么我的建议就是从Flex开始。

答案 3 :(得分:8)

Flex和Flash有什么区别?

我在脑海中清楚地表达并向他人解释的方式如下:

为您要创建的内容选择合适的工具。

如果您想使用Flash技术编写APPLICATION,请使用Flex。

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

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

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

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

总结

申请 - > Flex - > SWF

Animation-> Flash - > SWF

希望这有帮助。

答案 4 :(得分:6)

部分混淆是“Flash”意味着多件事。 Flash可能意味着众多应用程序中的一种,或者是SWF背后的一般技术。

Adob​​e销售的Flash CS3产品。这通常针对设计人员,并使用基于时间轴的方法来创建SWF。以前,Flash产品是创建SWF的唯一方法,而SWF通常仅用于动画和其他视觉效果,否则无法在浏览器中使用。

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

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

如果您从开发人员的角度来看Flash,那么您将需要使用Flex。它可能与您习惯处理的内容更接近,似乎是Adobe推动Flash发展的方向。

答案 5 :(得分:3)

Flex是框架 FlexBuilder是 IDE (试图解决2之间的混淆,adobe将FlexBuilder重命名为FlashBuilder)

如果您不知道Framework是什么:

Flex就像CodeIgniter到PHP那样是Flash

或者像.net那样。

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

答案 6 :(得分:3)

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

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

在功能方面,Flash是一个非常通用的运行时;它可以让你自由地做任何你想做的事情。但是,如果您正在构建一个贷款模拟器,您可能不需要自由定义所有下拉菜单和屏幕转换的工作方式。可能你宁愿你可以只使用预制组件来做这些东西,这样你就可以专注于贷款。 Flex让你这样做,如果你确定你需要很多自由来改变所有细节,那么它的成本可能会很大。

答案 7 :(得分:3)

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

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

Flex为您提供了这一点。

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

Flex为您提供了这一点,因为它在Flash虚拟机中运行。

您是否也希望能够在操作系统中运行,而不是在浏览器中运行(编码更改最少?)

Flex允许您运行它,而不是在Flash VM中,而是在Adobe AIR VM(具有Windows,Mac和Linux版本)中为您提供,它为文件系统等常见操作系统资源提供包装器,OS对话框UI组件(例如“Open / File / etc.”)

你可以使用javascript作为开发语言吗?你需要以ActionScript的形式支持唯一的语言,它是javascript的正确超集 - 它直接接受javascript代码。

所以分成的部分是:

  1. 运行时环境,Flash浏览器插件或AIR运行时(本机操作系统等效项)。

  2. Actionscript作为开发语言。

  3. 一堆控件和其他资源库,即典型的Window,Frame,Combobox,Listbox,Image容器,TextBox,TextArea,一个wysiwyg-y RichTextArea等。这些是Flex的省。

  4. 仅使用上述资源,您就可以使用免费的命令行编译器以与使用库的任何其他命令行编译器语言相同的方式构建应用程序。

    然后,如果你想要一个花哨的IDE,那就是Flex Builder,这是一套对良好的Eclipse(几百美元)的扩展。或者还有其他一些或多或少等同的IDE。

答案 8 :(得分:2)

跟进这一点,我发现了一篇非常有用的文章:

Adobe Flash and Flex—Which Makes the Most Sense for Your Project?

  

Flash集成开发   环境(IDE),也称为   它当前的版本是Flash CS3,是   发展品格的理想工具   动画或线性动画   项目。这些是项目   需要很少的编码,可以   用Flash有效实现   IDE时间表。

换句话说,Flash CS4与时间轴紧密相关 - 适用于线性序列或动画。虽然可以以跳转到时间线上的新点的形式添加循环和交互性,但是对于在一段时间内不能轻易绘制出来的项目来说,它是有限的。

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

Flex是作为答案而构建的 - 虽然它使用相同的元素并公开代码,但它不受时间轴的约束,并且与面向对象的编程语言有更多的共同点,而不是动画语言。

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

答案 9 :(得分:2)

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

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

答案 10 :(得分:1)

Flex也在Linux上运行,而Flash则不运行 Flex有点像Flash CS 4第二版
Flex的图形化程度较低,因为它分离了编译器和IDE,它允许命令行编译(makefile,大型项目等),允许替代IDE进行Flash。
修改:
Flex缺少Flash CSX所具有的一些类(例如fl.controls),而Flash缺少Flex所具有的一些类(例如mx.controls或mx.alert)。

总而言之:
您可以通过下载Flex 4 SDK和FlashDevelop免费获得自己的Flash编译器。 但它不能代替Flash。
Flash产生的文件要小得多(例如,Flash将项目编译为100 kB,而Flex则将同一项目编译为500kB)。因此,Flash适用于互联网多媒体应用,而Flex则适用于桌面多媒体应用。

答案 11 :(得分:1)

Flex Builder 3 - > Flash Builder 4,即使您将它用于Flex。您也可以将它用于Flash。如果你真的想了解所有这些东西,你应该只买一天的退休午餐,因为它会为你节省一个月。 Adobe制作了一些很酷的产品,但也是众所周知的lazy company,这导致了极差的文档。除非你是“liveocs”的粉丝,否则这就是Adobe用来描述“缓慢而臃肿的HTML”的术语。

答案 12 :(得分:1)

Flex是一个基于ActionScript的免费开源框架,用于开发SWF和AIR应用程序。 Flex Builder(现在从版本4重命名为Flash Builder,以避免混淆)是Adobe的商业IDE,使用flex框架开发SWF / AIR。虽然flash(CS3)适用于动画相关的东西,但flex适用于应用程序/ ui相关的东西。 Adobe将其定位为RIA(富互联网应用程序)框架。

答案 13 :(得分:1)

Flash开发人员已被提及作为开发Flex应用程序的免费工具。我只想添加一个免费工具来设计应用程序(使用设计器创建MXML文件):designview。它可直接在adobe网站上获得,它是一个基本的空中应用程序,但可以自由而轻松地查看flex的可能性。

答案 14 :(得分:1)

Flex和Flash拥有不同的目标受众群体。 Flex更适合开发人员,因为Flash更倾向于设计师和艺术家。

答案 15 :(得分:0)

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

答案 16 :(得分:0)

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

答案 17 :(得分:0)

我在本页找到的“什么是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”代码。

答案 18 :(得分:0)

简单来说,Flex技术使用MXML来创建应用程序。 MXML类似于HTML,Flash组件类似于表单元素。

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

这是非常简化的答案,但这就是我倾向于解释Flex的方式。

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

答案 19 :(得分:0)

Flex基本上是一种编译为flash“电影”或“applet”的语言,它将在Adobe Flash播放器插件中运行。

答案 20 :(得分:0)

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

Flex是一个Flash库,旨在帮助人们在更高级别的Flash中进行编程。

考虑到这一点可能会有所帮助,因为Flex over Flash就像MFC而不是C ++。

答案 21 :(得分:0)

“Adobe Flex是Adobe Systems发布的一系列技术,用于开发和部署基于专有Adobe Flash平台的跨平台富Internet应用程序。”

Adobe Flex