什么是Adobe Flex? 这只是Flash II吗?
题
好吧,我被所有的stream行语和新闻发布宾果继续困惑。
- flash和flex有什么关系:
- 更换闪光灯(不是真的兼容)
- 增强闪光灯
- 闪光灯的下一个版本,但基本上兼容
- 完全分开的技术
- ???
- 如果我现在开始使用Flash,我应该跳到Flex吗?
跟进
好的,我听到的是这个难题有三个不同的部分:
- 闪
- 用于制作“Flash电影”的graphics编辑器,即它是一个专注于“Flash”视觉方面的IDE(官方Flash CS3?)
- 显示插件的正式名称(即“立即下载Flash!”)
- 对整个技术堆栈的一般参考
- 就编辑而言,这是一个基于线性时间轴的编辑器,最适合用于具有复杂交互性的animation。
- 动作
- “Flash”编程语言
- 柔性
- Adobe Flash IDE专注于“Flash”(Flex Builder?)的编码/编程方面
- 一个Flash库,增强了Flash,使得它更易于编程 (Flex SDK?)
- 没有绑定到时间轴(就像Flash的IDE),所以“标准”的应用程序更容易完成。
它是否正确?
-亚当
Adobe Flex Builder是Adobe的IDE,用于开发将在Flash插件中运行的应用程序。 Flex SDK是指开发人员用来编写应用程序的库。
本质上,“Flex”这个术语是开发方面,“Flash”是Adobe技术的运行时间方面。
更正:术语'Flash'也被用来指devise师使用的Flash IDE。
术语Flash可以包括下面定义的任何其他术语,并且我发现说“Flash”而没有明确指出您的意思可能会造成混淆和误导。 例如:当你在你的问题中说“Flash”时,我不确定你的具体含义。 它是Flash Player吗? 创作工具? 还是Adobe称之为“Flash Platform”的全部技术? 为了清楚所有这些,让我定义创buildFlash和Flex内容所涉及的技术,以便我们在这里使用相同的术语:
Flash Player是浏览器中富媒体内容的运行时。 Flash Lite还可以在旧版或低端移动设备上运行Flash内容, Adobe AIR扩展了Flash Player,允许内容作者发布本地桌面和移动应用程序,这些应用程序可以与文件系统,窗口系统和设备像加速度计和相机的传感器。 Adobe将Adobe统称为Flash运行时 。
Flash Professional (通常称为Flash创作工具或Flash IDE )传统上是用于创build在Flash Player上运行的内容的主要应用程序。 这是非常devise师与时间轴,图层和可视化绘图工具。 与其他开发工具(如Flash Builder)相比,软件开发人员可能会发现这个应用程序迷失方向并受到限制。 当有人说“我用Flash创build了一些东西”时,他们经常指Flash创作工具,但情况并非总是如此。 出于这个原因,总是澄清以避免混淆是很好的。
ActionScript是Adobe支持定位Flash运行时的主要编程语言。 当前版本是ActionScript 3(缩写为AS3 ),自Flash Player 9以来一直受支持。使用较旧版本的ActionScript创build的内容仍可以在最新版本的Flash Player中运行,但仅在使用ActionScript 3创造新的内容。
Flex是旨在创build针对Adobe Flash运行时的丰富应用程序的技术集合。 虽然以前的“Flex”与“Flash”有着相同的含义,但Flex品牌越来越关注Flex框架和SDK,如下所述。
Flex SDK由编译器,命令行debugging器和Flex框架组成。 包含的编译器是:1. MXMLC,一个ActionScript和MXML编译器,用于输出最终的SWF文件以部署到Flash Player。 2. COMPC,用于输出SWC文件的ActionScript的静态库编译器。 3. ASDOC,一种基于编译器技术的文档生成器。
Flex框架是用于构build富互联网应用程序的ActionScript类的集合。 它包括诸如用户界面控件,Web服务和其他连接类,格式化器和validation器,拖放,模态窗口和组件状态等内容。 这些类位于mx。*包中。 一般来说,当开发者在没有任何澄清信息的情况下说“Flex”时,他们是指Flex框架,而不是以前称为Flex Builder的产品。
2011年,Adobe向Apache软件基金会捐赠了Flex SDK。 它现在被称为Apache Flex ,并且完全由社区pipe理而不是Adobe。 但是,Adobe员工继续为该项目做出贡献,Flash Builder(见下文)继续支持由Apache Flex项目发布的新SDK。
MXML是Flex编译器使用的一种基于XML的标记语言,可以更容易地将组件放置到容器中。 XML的树状结构使包含层次结构更易于可视化。 MXML实际上在编译过程中转换为ActionScript。
Flash Builder (以前称为Flex Builder )是一种开发环境,允许开发人员构build不同的项目types,以创build部署到Flash运行时的SWF文件。 它build立在Eclipse平台上,对软件工程师更为熟悉。 Flash Builder支持使用Flex或纯ActionScript构build的项目。 Flex项目包括Flex框架。 ActionScript项目是您可以使用的最基本的方法,从一个类和一个空的canvas开始,不包括Flex框架。
Flash Builder不会取代Flash Professional。 一些传统上使用Flash Professional的用户现在可以select使用Flash Builder。 通常,这些软件工程师是欣赏或需要Flash Builder提供的高级开发工具的软件工程师,或者在可视化工具中devise的资产中工作不多。 一些开发人员可能会在Flash Builder中编写代码,同时select在Flash创作工具中编译其项目。 通常,这些开发人员也是devise师,或者他们正在与devise师的其他人一起工作。 在这种情况下,Flash创作工具中可能会创build许多graphics资源,而将它们引入其他环境可能很困难,或者根本不合适。
Flex框架专门用于构build应用程序。 它包含许多传统的表单控件(button,列表,数据网格等),大部分代码运行在用ActionScript编写的高级组件框架上。 并非所有人都在构buildFlex旨在创build的内容,而Flex并不能替代传统的Flash开发实践。 对于一些开发者来说这是一个更好的方法,但是对其他开发者来说可能并不合适 更多devise重的网站,比如为电影,音乐,能量饮料,广告宣传等等创build的网站可能不应该使用Flex框架。 这些types的内容可能更适合Flash Professional或Flash Builder中的纯ActionScript项目。 同样,在社交网站上放置在您的网站边栏或个人资料中的小部件可能需要使用纯ActionScript(不包含Flex框架)构build,因为它们需要较小的文件大小,并且可能不需要为大型应用而devise的大型复杂组件架构。 在定位Flash运行时时,您的开发环境,框架和工作stream应根据您的项目需求和目标进行select。
是的,我也困惑了很久。
Flex似乎是“Flex Builder”IDE(基于Eclipse)的名称,也是使用mxml和ActionScript构buildFlash文件的一般方法,而不是普通的Flash工具。
我认为mxml和ActionScript的方法(即Flex)旨在吸引更多的程序员,因为Flash方面的devise更吸引graphicsdevise师。
两种方法的最终结果都是一个.swf文件,可以在浏览器的Flash播放器插件中运行(不过,如果您想要访问文件系统并脱机运行,则可以使用Flex定位Adobe Air运行时)。
我的build议是,如果你来自编程背景,从Flex开始。
Flex和Flash有什么区别?
我在脑海中清楚地解释它的方式如下:
select你想要创build的工具。
如果要使用Flash技术编写应用程序,请使用Flex。
如果您想使用Flash技术创buildanimation,请使用传统的Flash。
Flex针对应用程序构build进行了优化(但您可以使用状态创build原始animation)并将其编译为SWF。
Flash是为animation构build而优化的,但也可以创build一些额外工作的应用程序,然后编译成SWF文件。
一旦你有你的SWF,你可以在你的Flash播放器,虽然Flex需要Flash 9或更高。
结论是
应用程序 – > Flex – > SWF
animation – > Flash – > SWF
希望这可以帮助。
部分的混乱是“Flash”意味着多重的东西。 Flash可以是众多应用程序之一,也可以是SWF背后的一般技术。
有Adobe销售的Flash CS3产品。 这通常针对devise人员,并使用基于时间轴的方法来创buildSWF。 以前,Flash产品是创buildSWF的唯一方法,而SWF通常只用于animation和其他浏览器中不可能的视觉效果。
然后是Flash Player 。 这是用于运行SWF的应用程序/插件。 SWF文件也可以包含在“投影机”中,允许它们作为独立的应用程序运行,但这并不常见。
在某些时候(我不知道什么时候)Flash开始被用于更多的交互式应用程序。 Flash产品不太适合做类似的工作,因为它是为了创buildanimation而devise的。 认识到这一点,Macromedia创build了Flex 。 Flex是创buildSWF的另一个开发环境,但它更多地针对开发人员而不是devise人员。 最新版本是Flex 3 。 Flex SDK是免费的,包含一个命令行编译器,debugging器和类库。 Adobe还提供(购买) Flex Builder应用程序,这是一个基于Eclipse的IDE,用于使用Flex创buildSWF。 有一些免费的IDE用于使用Flex,最着名的是FlashDevelop ,尽pipe我不知道任何提供MXML的可视化devise器,Flex用来定义UI的标记语言,或者是debugging器的可视化包装器。
如果您从开发人员的angular度来看Flash,那么您将要使用Flex。 这可能与您之前处理的内容非常接近,似乎是Adobe推动Flash的方向。
Flash是运行环境 – 您使用Flash创作工具制作一些Flash内容,Flash播放器处理您的内容,执行脚本并在屏幕上绘制相应的图片。
Flex是一个开发框架 – 您使用Flex开发工具来定义基于组件的内容应该如何工作,然后Flex为您生成Flash内容。 您可以使用Flash创作工具做同样的事情,但使用Flex可以让您避免重新创build一些轮子。
在function上,Flash是一个非常多function的运行时间; 它给了你很多自由去做任何你想做的事情。 但是如果你正在build立一个贷款模拟器,你可能不需要自由地精确定义所有的下拉菜单和屏幕转换是如何工作的。 大概你宁愿你可以使用预制组件来做那些东西,这样你就可以把精力集中在贷款上。 Flex可以让你做到这一点,如果你决定需要很大的自由来改变所有的细节,那么它的成本可能会很大。
根据您如何描述您想要开发的应用程序,下面是另一个简单的视图。
你是否希望它有一个相当完整的控件(列表框,combobox,网格等)的工作站(如Windows)应用程序的高度细化的UIfunction?
Flex给你。
你想交付它运行在大多数浏览器(即任何Flash安装/安装)?
Flex给了你,因为它运行在Flash虚拟机中。
您是否也希望能够在操作系统中运行它,而不是在浏览器中运行(只需进行最less的编码更改?)
Flex可以让你运行它,而不是在Flash VM中运行,而是在Adobe AIR VM(Windows,Mac和Linux版本)中运行它,它提供了常用操作系统资源的包装,如文件系统,操作系统对话框-box UI组件(例如“Open / File /等)
你可以使用JavaScript作为开发语言吗? 你需要,因为它是唯一支持的语言,以ActionScript的forms,这是一个正确的超集的JavaScript – 它直接接受JavaScript代码。
所以分配的部分是:
-
运行时环境,即Flash浏览器插件或AIR运行时(本机操作系统等效项)。
-
Actionscript作为开发语言。
-
一堆控件和其他资源的库,即典型的窗口,框架,combobox,列表框,图像容器,文本框,TextArea,wysiwyg-y RichTextArea等等)这些是Flex的省份。
仅使用上述资源,就可以使用免费的命令行编译器以与使用库的其他任何命令行编译器语言相同的方式构build应用程序。
然后,如果你想要一个漂亮的IDE,那么就是Flex Builder,它是一套好的Eclipse的扩展(几百美元)。 或者还有其他几个相同的IDE。
Flex是一个框架 FlexBuilder是一个IDE (试图解决2之间的混淆,Adobe将FlexBuilder重命名为FlashBuilder)
如果你不知道框架是什么:
Flex是Flash的CodeIgniter是PHP的
或者像.net
一样。
我喜欢把一个框架看作是扩展一个像在OOP中扩展类一样的语言。
Flex是一个开发框架,它将xml和actionscript编译成一个SWF,它运行在访问网站的客户端机器上。 它也可以使用Adobe AIR作为桌面应用程序运行。 Flash使用绘图canvas而不是xml。 编译的SWF可以被称为Flash,这增加了混淆。 您可能会发现类似于ASP.NET的Flex,它采用xml和c#(vb.net等)并编译成dll。 当然,ASP.NET运行在Web服务器上。
如果您在应用程序的Flex和Flash之间进行select,请考虑应用程序是否基于数据。 如果你想制作一个漂亮的电子表格应用程序,那么Flex就是要走的路。 如果您正在创buildvideo游戏或某种演示文稿,则可能需要Flash。
接下来,我发现了一个非常有用的文章:
Adobe Flash和Flex – 哪个最适合您的项目?
Flash集成开发环境(IDE),在当前版本中称为Flash CS3,是开发angular色animation或线性animation项目的理想工具。 这些项目只需要很less的代码就可以用Flash IDE时间线有效地实现。
换句话说,Flash CS4与时间轴的绑定非常紧密 – 适用于线性序列或animation。 虽然可以通过跳转到时间线上的新点来添加循环和交互性,但是对于不能随着时间的推移而难以绘制出来的项目,这是一个限制。
简而言之,它是一个具有非常强大的交互function的animation工具 – 即时创build和创build新元素,并在时间轴上跳跃,可以创build应用程序,而Flash CS4 IDE使这个过程相对容易,但不是一个应用程序风格软件的绝佳平台。
Flex的构build是为了解决这个问题 – 虽然它使用了相同的元素,并且暴露了代码,但它并不局限于时间轴,而且与面向对象的编程语言相比,它更多地与animation语言相同。
Flex Builder IDE包括编程IDE,以及用于快速构build界面的GUIdevise器以及用于开发在Flash Player上运行的应用程序的一些其他工具。
Flex和Flash有不同的目标受众。 Flex更适合开发人员,因为Flash更适合devise师和艺术家。
Flashdeveloper被认为是开发Flex应用程序的免费工具。 我只是想添加一个免费的工具来devise应用程序(使用devise器创build一个MXML文件): designview 。 它可以直接在Adobe网站上使用,这是一个基本的空气应用程序,但可以让您自由而轻松地查看flex的可能性。
Flex是基于ActionScript的免费开源框架,用于开发SWF和AIR应用程序。 Flex Builder(现在从版本4改名为Flash Builder,以避免混淆)是Adobe的商业IDE,使用flex框架开发SWF / AIR。 虽然闪光(CS3)是animation相关的东西好,柔性是有利于应用程序/用户界面相关的东西。 Adobe定位为RIA(富Internet应用程序)框架。
Flex也可以在Linux上运行,而Flash则不能。
Flex是一个Flash CS 4第二版。
Flex的graphics化程度较低,因为它将编译器和IDE分开,允许命令行编译(makefile,可以这么说的大型项目),从而允许将其他IDE用于Flash。
编辑:
Flex缺乏Flash CSX所具有的某些类(例如fl.controls),而Flash则缺less一些Flex所具有的类(例如mx.controls或mx.alert)。
总而言之:
您可以通过下载Flex 4 SDK和FlashDevelop免费获得自己的Flash编译器。 但它不能代替Flash。
Flash产生更小的文件(例如,Flash将项目编译为100 kB,而Flex将相同的项目编译为500kB)。 所以Flash用于互联网多媒体应用,而Flex则用于桌面多媒体应用。
Flex Builder 3 – > Flash Builder 4,即使您将它用于Flex。 您也可以将其用于Flash。 如果你真的想了解所有这些东西,你应该只买一个老牌午餐一天,因为它会节省你的月。 Adobe制作了一些很酷的产品,但也是一个懒惰的公司 ,这导致极其糟糕的文档。 除非你是“livedocs”的粉丝,这是Adobe用来形容“缓慢和臃肿的HTML”的术语。
“Adobe Flex是由Adobe Systems发布的一系列技术,用于开发和部署基于专有Adobe Flash平台的跨平台丰富互联网应用程序。”
Adobe Flex
Flash是一种类似于JavaScript的编程语言,但支持静态types。
Flex是一个闪存库,旨在帮助人们在更高层次上对Flash进行编程。
有人可能会认为这是Flash上的Flex就像C ++上的MFC一样。
Flex基本上是一种可以编译成Flash或“applet”的语言,可以在Adobe Flash Player插件中运行。
非常简单地说,Flex技术使用MXML来创build应用程序。 MXML类似于HTML,Flash组件类似于表单元素。
MXML基本上允许您指定在应用程序屏幕上显示的Flash组件(如表格,下拉列表或您在Flash中构build的自定义内容)。
这是一个非常简单的答案,但这就是我倾向于解释的Flex。
(Flex Builder是您开发Flex应用程序和Flash应用程序的环境)
Flex不是一种编程语言。 flex是一个通过Flash运行时开发富互联网应用程序的框架,包括ActionScript和MXML作为语言。
Flex是用于构build跨平台富Internet应用程序的技术,工具和框架的集合。
我发现“什么是Flex”的最佳答案是: http : //www.adobe.com/products/flex/faq.html#flex-flash
search“Flex如何与Flash不同?”
我对此的解释是,如果您的应用程序是从Flash Professional生成的,则它是一个“Flash”应用程序。 如果它是使用Flex SDK(Flash Builder,Flash开发或直接代码和命令行工具)生成的,则它是“Flex”应用程序。 “Flash”应用程序和“Flex”应用程序都可以编译成可由“Flash Player”或“Adobe AIR”运行的字节码。 这两种types的应用程序都可以包含“Actionscript”代码。