术语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框架是旨在建立富互联网应用程序的ActionScript类的集合.它包括用户界面控件,Web服务和其他连接类,格式化程序和验证程序,拖放,模式窗口和组件状态等内容.这些类位于mx.*包中.通常,当开发人员说"Flex"而没有任何澄清信息时,他们指的是Flex框架,而不是以前称为Flex Builder的产品.
2011年,Adobe将Flex SDK捐赠给Apache Software Foundation.它现在称为Apache Flex,它完全由社区而不是Adobe管理.但是,Adobe员工继续为该项目做出贡献,Flash Builder(见下文)继续支持Apache Flex项目发布的新SDK.
MXML是一种基于XML的标记语言,Flex编译器使用它来简化布局并将组件放入容器中.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 Builder中编写代码,同时选择在Flash创作工具中编译他们的项目.通常,这些开发人员也是设计师,或者他们正在与设计师的其他人合作.在这种情况下,Flash创作工具中可能会创建许多图形资源,将它们带入另一个环境可能很困难或根本不合适.
Flex框架专门用于构建应用程序.它包括许多传统的表单控件(按钮,列表,数据网格等),而且大部分代码都运行在用ActionScript编写的高级组件框架上.并非所有人都在构建Flex旨在创建的内容,而Flex并不能替代每个人的传统Flash开发实践.对于一些开发人员来说,这是一种更好的方法,但可能不适合其他人.更多设计密集的网站,例如为电影,音乐,能量饮料,广告活动等创建的网站,可能不应使用Flex框架.这些类型的内容可能更适合Flash Professional或Flash Builder中的纯ActionScript项目.同样的,您放入网站侧边栏或社交网站上的个人资料中的小窗口小部件可能需要使用纯ActionScript(没有Flex框架)构建,因为它们需要较小的文件大小,并且它们可能不需要大型复杂组件架构,适用于大型应用.在定位Flash运行时时,应根据项目的要求和目标选择开发环境,框架和工作流.
术语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框架是旨在建立富互联网应用程序的ActionScript类的集合.它包括用户界面控件,Web服务和其他连接类,格式化程序和验证程序,拖放,模式窗口和组件状态等内容.这些类位于mx.*包中.通常,当开发人员说"Flex"而没有任何澄清信息时,他们指的是Flex框架,而不是以前称为Flex Builder的产品.
2011年,Adobe将Flex SDK捐赠给Apache Software Foundation.它现在称为Apache Flex,它完全由社区而不是Adobe管理.但是,Adobe员工继续为该项目做出贡献,Flash Builder(见下文)继续支持Apache Flex项目发布的新SDK.
MXML是一种基于XML的标记语言,Flex编译器使用它来简化布局并将组件放入容器中.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 Builder中编写代码,同时选择在Flash创作工具中编译他们的项目.通常,这些开发人员也是设计师,或者他们正在与设计师的其他人合作.在这种情况下,Flash创作工具中可能会创建许多图形资源,将它们带入另一个环境可能很困难或根本不合适.
Flex框架专门用于构建应用程序.它包括许多传统的表单控件(按钮,列表,数据网格等),而且大部分代码都运行在用ActionScript编写的高级组件框架上.并非所有人都在构建Flex旨在创建的内容,而Flex并不能替代每个人的传统Flash开发实践.对于一些开发人员来说,这是一种更好的方法,但可能不适合其他人.更多设计密集的网站,例如为电影,音乐,能量饮料,广告活动等创建的网站,可能不应使用Flex框架.这些类型的内容可能更适合Flash Professional或Flash Builder中的纯ActionScript项目.同样的,您放入网站侧边栏或社交网站上的个人资料中的小窗口小部件可能需要使用纯ActionScript(没有Flex框架)构建,因为它们需要较小的文件大小,并且它们可能不需要大型复杂组件架构,适用于大型应用.在定位Flash运行时时,应根据项目的要求和目标选择开发环境,框架和工作流.
Adobe Flex Builder是Adobe的IDE,用于开发将在Flash插件中运行的应用程序.Flex SDK是指开发人员用于编写应用程序的库.
从本质上讲,术语"Flex"是开发方面,"Flash"是Adobe技术的运行时方面.
更正: 术语"Flash"也用于指设计人员使用的Flash IDE.
是的,我也很困惑这一点.
Flex似乎是'Flex Builder'IDE(基于Eclipse)的名称,以及使用mxml和ActionScript而不是普通flash工具构建flash文件的一般方法.
我认为mxml和ActionScript方法(即Flex)旨在吸引更多程序员,因为Flash方面的设计更多是为了吸引图形设计师.
两种方法的最终结果都是.swf文件,可以在浏览器的Flash播放器插件中运行(尽管使用Flex,如果您想要访问文件系统并脱机运行等,您可以定位Adobe Air运行时).
如果您是从编程背景出发,我的建议是从Flex开始.
Flex和Flash有什么区别?
我在脑海中清楚地表达并向他人解释的方式如下:
选择适合您要创建的工具.
如果要使用Flash技术编写APPLICATION,请使用Flex.
如果您想使用Flash技术创建动画,请使用传统的Flash.
Flex针对应用程序构建进行了优化(但您可以使用状态创建原始动画)并将其编译为SWF.
Flash针对动画构建进行了优化,但您也可以创建具有一些额外工作的应用程序,并将其编译为SWF.
使用SWF后,即使Flex需要Flash 9或更高版本,您也可以在Flash播放器中播放.
结论
应用程序 - > Flex - > SWF
动画 - > Flash - > SWF
希望这可以帮助.
令人困惑的部分原因是"Flash"意味着多件事.Flash可能意味着众多应用程序中的一种,或者是SWF背后的一般技术.
这是Adobe销售的Flash CS3产品.这通常针对设计人员,并使用基于时间轴的方法来创建SWF.以前,Flash产品是创建SWF的唯一方法,而SWF通常仅用于动画和其他视觉效果,否则无法在浏览器中使用.
然后就是Flash Player.这是用于运行SWF的应用程序/插件.SWF也可以包含在"投影仪"中,允许它们作为独立的应用程序运行,但这并不常见.
在某些时候(我不知道什么时候)Flash开始用于更多的交互式应用程序.Flash产品不太适合工作,因为它旨在创建动画.认识到这一点,Macromedia创建了Flex.Flex是另一种用于创建SWF的开发环境,但它更多地针对开发人员而非设计人员.最新版本是Flex 3.所述的Flex SDK是免费提供的,并且包括一个命令行编译器,调试和类库.Adobe还提供(购买)Flex Builder应用程序,这是一个基于Eclipse的IDE,用于使用Flex创建SWF.有一些免费的IDE可以使用Flex,最着名的是FlashDevelop虽然我不知道有任何提供MXML的可视化设计器,Flex使用的标记语言来定义UI,或者是调试器的可视化包装器.
如果您从开发人员的角度来看待Flash,那么您将需要使用Flex.它可能与您习惯处理的内容更接近,似乎是Adobe推动Flash发展的方向.