“Adobe Flex”与使用fl.controls和fl.events库的AS3应用程序有什么区别?

时间:2011-06-29 01:41:22

标签: flash flex actionscript-3 air flashdevelop

this one这样的文章似乎说Flex是一个用于制作在Flash Player中运行的类似桌面的应用程序的库。但令我困惑的是,我已经构建了模仿桌面外观的AS3应用程序而没有任何“弹性”。我使用名为fl.controls和fl.events的库,它工作得非常好,包括按钮,文本框,列表框,组合框等。

帮助我解决这个问题。 fl.controls和fl.events实际上是flex的一部分,但我从未意识到这一点?或者它们是竞争的小部件库/框架,但出于营销原因,Adobe没有打算分配像“flex”这样的性感名称?

如果flex与fl.controls和fl.events不同,你可以在flex / AIR应用程序中使用这些库吗? (我不关心“flex”方面,只想制作AIR应用程序)或者它是一个问题 - 或者是fl。*还是单个项目中的flex库?

另外,为了清楚起见,我现在在FlashDevelop中工作,而不是Adobe的任何专有IDE。所以我想基于“哪个版本的IDE随特定库一起发布”的软件包之间的区别对我来说有点丢失。

3 个答案:

答案 0 :(得分:4)

我所知道的fl.controls库实际上只是一些可以在Flash中使用的小部件。另一方面,Flex是一个应用程序开发框架,具有丰富的开发功能,您无法单独使用AS3和fl.controls

Flex带给你的一些东西:

  1. MXML形式的声明性标记
  2. 数据绑定
  3. 国家管理
  4. 剥皮
  5. 用于创建自己的复合组件的组件模型
  6. 默认情况下,在Flash Builder中创建新的Flex项目时,不会导入这些控件。但是,它似乎是that it is possible

    据我所知,执行此操作的用例并不多(除了集成遗留代码),因为与fl.controls相比,Flex提供了所有内容和更多功能。

答案 1 :(得分:3)

fl.controls.*是Flash Professional中使用的组件。它们类似于Flex框架中的mxspark组件。但是,Flex spark组件比Flash Professional组件更先进,但我相信当您使用Flex组件时,您必须使用带有AS3的MXML代码(而不仅仅是AS3)。

答案 2 :(得分:1)

将Flex用于台式计算机时,上述答案是合理的,但对于移动设备,问题更为复杂。 Flex易于开发的优势伴随着性能损失,这对于移动开发来说是一个很大的问题。通过消除状态和数据绑定,可以实现所需的性能提升。有许多Adobe文档建议不使用它们。为了轻松消除这些,我发现最简单的方法是不使用mxml。因为,当以图形方式实例化图形组件时,最简单的是没有状态。

可以对spark.components和fl.controls进行换肤。不同之处在于spark.components具有可换肤的界面,允许人们使用许多不同的皮肤对相同的组件进行换肤。对我来说,这是一个优雅的功能,我还没有看到一个要求。虽然,我可以想象为多个客户开发相同组件的公司发现这非常有用。

我希望我能在这里报告fl.controls与spark.components的相对表现。如果有人有此类数据,请发布。通过查看类层次结构,很明显fl.controls的重量更轻,但能够衡量这种优势会很好。

相关问题