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

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

What is Adobe Flex? Is it just Flash II?

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

  • flash和flex之间是什么关系:

    • 更换闪光灯(并非真正兼容)
    • 增强闪光
    • 下一版本的Flash,但仍基本兼容
    • 完全分开的技术
    • ???
  • 如果我现在开始使用Flash,是否应该跳到Flex?

跟进

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

    • 用于制作" Flash电影"的图形编辑器,即它是一个专注于" Flash"的视觉方面的IDE(正式是Flash CS3?)
    • 显示插件的正式名称(即"立即下载Flash!")
    • 整个技术栈的一般参考
    • 在编辑器方面,它是基于线性时间轴的编辑器,最适合用于具有复杂交互性的动画。
  • 动作脚本

    • " Flash"编程语言
  • 柔性

    • 一个专注于" Flash"(Flex Builder?)的编码/编程方面的Adobe Flash IDE。
    • 一个Flash库,它增强了Flash并使其易于编程(Flex SDK?)
    • 不受时间轴的约束(就像Flash IDE一样),因此"标准"应用程序更容易实现。

这样对吗?

-亚当


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时才支持新功能。创建新内容。

Flex是旨在创建针对Adobe Flash运行时的丰富应用程序的一系列技术。尽管说" Flex"以前与" Flash"具有相同的歧义,但Flex品牌名称越来越集中于Flex框架和SDK,如下所述。

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

Flex框架是旨在构建Rich Internet Applications的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运行时为目标时,应根据项目的要求和目标选择开发环境,框架和工作流。

好。


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

本质上,术语" Flex"是Adobe技术的开发方面,而" Flash"是Adobe技术的运行时方面。

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


是的,我也为此感到困惑了一段时间。

Flex似乎是" Flex Builder" IDE(基于Eclipse)的名字,也是使用mxml和ActionScript而非常规Flash工具构建Flash文件的通用方法。

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

两种方法的最终结果都是一个.swf文件,该文件可以在浏览器的Flash Player插件中运行(尽管使用Flex,如果您要访问文件系统并脱机运行,则可以将Adobe Air运行时作为目标。)

我的建议是,如果您来自编程背景,则从Flex开始。


Flex和Flash有什么区别?

我谨记在心并向他人解释的方式如下:

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

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

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

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

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

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

结论

应用-> Flex-> SWF

动画-> Flash-> SWF

希望这可以帮助。


11>

>
造成混淆的部分原因是," Flash"意味着多种含义。 Flash可能意味着众多应用程序之一,也可能意味着SWF背后的通用技术。

>

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

>

>
然后是Flash Player。这是用于运行SWF的应用程序/插件。 SWF也可以包装在"投影仪"中,从而可以作为独立应用程序运行,但这并不常见。

>

>
在某个时?ㄎ也恢朗裁词焙颍現lash开始用于更具交互性的应用程序。 Flash产品不太适合用于某种工作,因为它旨在创建动画。认识到这一点,Macromedia创建了Flex。 Flex是用于创建SWF的另一个开发环境,但它的目标更多是开发人员,而不是设计人员。最新版本是Flex3。FlexSDK是免费提供的,包括命令行编译器,调试器和类库。 Adobe还提?ü┕郝颍〧lex Builder应用程序,这是一个基于Eclipse的IDE,用于使用Flex创建SWF。有一些使用Flex的免费IDE,最著名的是FlashDevelop,尽管我不知道提供MXML的可视化设计器,Flex用来定义UI的标记语言或调试器的可视化包装的任何IDE。 pa>
如果您从开发人员的角度使用Flash,那么您将要使用Flex。它可能与您过去要处理的内容更加接近,并且似乎是Adobe总体上推动Flash的方向

pb>


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

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

Flex对Flash就像对CodeIgniter对PHP一样

.net是什么。

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


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

Flex是一个开发框架-您使用Flex开发工具定义基于组件的内容应如何工作,然后Flex为您生成Flash内容。您可以使用Flash创作工具进行相同的操作,但是使用Flex可以避免重新发明轮子。

从功能上讲,Flash是一种极其灵活的运行时。它给您很大的自由去做您想做的任何事情。但是,如果您要构建贷款模拟器,则可能不需要自由定义所有下拉菜单和屏幕过渡的工作方式。也许您宁愿只为这些东西使用预制的组件,这样您就可以专注于贷款的东西。 Flex可以让您做到这一点,但如果您决定确实需要很大的自由来更改所有细微的细节,结果可能会花费很多工作。


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

您是否希望它具有工作站(例如Windows)应用程序所期望的高度粒度的UI功能以及一组相当完整的控件(列表框,组合框,网格等)?

Flex为您提供。

您是否要提供它以使其在大多数浏览器中运行(即在已安装Flash的任何位置)?

Flex为您提供了此功能,因为它在Flash虚拟机中运行。

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

通过允许您运行它,Flex可以为您提供此服务,而不是在Flash VM中运行,而在Adobe AIR VM(具有Windows,Mac和Linux版本)中运行,后者为文件文件系统,OS对话框等常见OS资源提供包装-box UI组件(例如"打开/文件/等")

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

因此,分割的部分是:

  • 运行时环境,可以是Flash浏览器插件,也可以是AIR运行时(等效于本机OS)。

  • Actionscript作为开发语言。

  • 一堆控件库和其他资源,例如,典型的Window,Frame,Combobox,Listbox,Image容器,TextBox,TextArea,所见即所得的RichTextArea等。这些都是Flex的省。

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

    然后,如果您想要精美的IDE,可以使用Flex Builder,它是对Eclipse的扩展(价格为数百美元)。或者,还有其他一些或多或少等效的IDE。


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

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


    在此之后,我找到了关于该主题的非常有用的文章:

    Adobe Flash和Flex-哪个项目最适合您?

    The Flash Integrated Development
    Environment (IDE), otherwise known in
    its current version as Flash CS3, is
    an ideal tool for developing character
    animation or linear animation
    projects. These are projects that
    require little coding and can be
    effectively implemented with the Flash
    IDE timeline.

    换句话说,Flash CS4与时间轴紧密绑定-适用于线性序列或动画。虽然可以以跳到时间轴上的新点的形式添加循环和交互性,但它限制了无法随时间推移进行进度映射的项目。

    简而言之,它是一种具有非常强大的交互功能的动画工具-动态创建和合成新元素,然后在时间轴上跳转允许创建应用程序,而Flash CS4 IDE相对来说相对容易,但并非如此应用程序样式软件的绝佳平台。

    Flex就是为了解决这个问题而创建的-尽管它使用相同的元素并公开了代码,但它没有绑定到时间轴,并且与面向对象的编程语言相比,与动画语言有更多的共同点。

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


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


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


    Flex是基于ActionScript的免费开放源代码框架,用于开发SWF和AIR应用程序。 Flex Builder(现在从版本4起已重命名为Flash Builder,以避免混淆)是Adobe的商业IDE,用于使用flex框架开发SWF / AIR。 Flash(CS3)适用于动画相关的东西,而flex适用于应用程序/ ui相关的东西。 Adobe将flex定位为RIA(富Internet应用程序)框架。


    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用于Internet多媒体应用程序,而Flex用于桌面多媒体应用程序。


    Flex Builder 3-> Flash Builder 4,即使您将其用于Flex。您也可以将其用于Flash。如果您真的想了解所有这些知识,则应该只购买一天的老兵午餐,因为这样可以节省您MONTHS。 Adobe生产了一些很酷的产品,但也众所周知它是一家懒惰的公司,这导致文档非常差。除非您是" livedocs"的狂热者,否则Adobe会用它来形容"慢而and肿的HTML"。


    对于"什么是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"或" Adob??e AIR"运行。两种类型的应用程序都可以包含" Actionscript"代码。


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

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

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

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


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

    Flex是一个Flash库,旨在帮助人们在Flash上?懈呒侗鸬谋喑獭?/p>>

    >
    对于某些人来说,这可能会有所帮助,例如Flash over Flex就像MFC over C ++。

    >


    Flex不是一种编程语言。
    flex是用于在Flash运行时上开发富Internet应用程序的框架,其中包括ActionScript和MXML作为语言。


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


    " Adob??e Flex是Adobe Systems发布的一组技术,用于基于专有Adobe Flash平台开发和部署跨平台的富Internet应用程序。"

    Adobe Flex


    Flex基本上是一种可编译为Flash"电影"或"小程序"的语言,它将在Adobe Flash Player插件中运行。


    推荐阅读