Flash “与”的区别是什么;AdobeFlex“;以及使用fl.controls和fl.events库的AS3应用程序?

Flash “与”的区别是什么;AdobeFlex“;以及使用fl.controls和fl.events库的AS3应用程序?,flash,apache-flex,actionscript-3,air,flashdevelop,Flash,Apache Flex,Actionscript 3,Air,Flashdevelop,像这样的文章似乎说Flex是一个库,用于制作在Flash Player中运行的类似桌面的应用程序。但让我困惑的是,我已经构建了3个应用程序,它们模仿桌面的外观,没有任何“flex”。我使用名为fl.controls和fl.events的库,它工作得非常好,有按钮、文本框、列表框、组合框等 帮我弄清楚这个问题。fl.controls和fl.events实际上是flex的一部分,但我从未意识到这一点?或者,它们是一个相互竞争的小部件库/框架,但出于营销原因,Adobe并没有费心给它起一个像“flex

像这样的文章似乎说Flex是一个库,用于制作在Flash Player中运行的类似桌面的应用程序。但让我困惑的是,我已经构建了3个应用程序,它们模仿桌面的外观,没有任何“flex”。我使用名为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”的包之间的差异让我有些不知所措。

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

Flex为您带来的一些好处:

  • MXML形式的声明性标记
  • 数据绑定
  • 国家管理
  • 剥皮
  • 用于创建自己的复合构件的构件模型
  • 默认情况下,在Flash Builder中创建新的Flex项目时不会导入这些控件。然而,它似乎是


    据我所知,这样做的用例并不多(除了集成遗留代码),因为与
    fl.controls

    相比,Flex提供了一切,而且更多。据我所知,
    fl.controls
    库实际上只是一堆可以在Flash中使用的小部件。另一方面,Flex是一个应用程序开发框架,具有一套丰富的开发功能,单靠AS3和
    fl.controls
    是无法实现的

    Flex为您带来的一些好处:

  • MXML形式的声明性标记
  • 数据绑定
  • 国家管理
  • 剥皮
  • 用于创建自己的复合构件的构件模型
  • 默认情况下,在Flash Builder中创建新的Flex项目时不会导入这些控件。然而,它似乎是


    据我所知,这样做的用例并不多(除了集成遗留代码),因为与
    fl.controls

    fl.controls.*
    是Flash Professional中使用的组件,Flex提供了一切。它们类似于Flex框架中的
    mx
    spark
    组件。然而,Flex
    spark
    组件比Flash Professional组件要先进得多,但我相信在使用Flex组件时,您必须将MXML代码与AS3(而不仅仅是AS3)一起使用。

    fl.controls.*
    是Flash Professional中使用的组件。它们类似于Flex框架中的
    mx
    spark
    组件。然而,Flex
    spark
    组件比Flash Professional组件先进得多,但我相信,在使用Flex组件时,您必须将MXML代码与AS3(而不仅仅是AS3)结合使用。

    在桌面计算机上使用Flex时,上述答案是合理的,但对于移动设备,问题更复杂。Flex易于开发的优点带来了性能损失,这是移动开发的一个大问题。可以通过消除状态和数据绑定来获得所需的性能增益。有许多Adobe文档建议不要使用它们。为了轻松消除这些问题,我发现不使用mxml也是最简单的。因为,当以编程方式实例化图形组件时,没有状态是最容易相处的

    火花组件和fl控制都可以剥皮。不同之处在于spark.components有一个可蒙皮的界面,允许用户使用许多不同的蒙皮来蒙皮相同的组件。对我来说,这是一个优雅的特性,我还没有看到它的需求。尽管如此,我可以想象为多个客户开发相同组件的公司会发现这非常有用


    我希望我能在这里报告fl.控件与spark.组件的相对性能。如果有人有这样的数据,请张贴。通过查看类层次结构,很明显fl.controls重量较轻,但如果能够衡量这一优势,那就更好了。

    在台式计算机上使用Flex时,上述答案是合理的,但对于移动设备,问题更为复杂。Flex易于开发的优点带来了性能损失,这是移动开发的一个大问题。可以通过消除状态和数据绑定来获得所需的性能增益。有许多Adobe文档建议不要使用它们。为了轻松消除这些问题,我发现不使用mxml也是最简单的。因为,当以编程方式实例化图形组件时,没有状态是最容易相处的

    火花组件和fl控制都可以剥皮。不同之处在于spark.components有一个可蒙皮的界面,允许用户使用许多不同的蒙皮来蒙皮相同的组件。对我来说,这是一个优雅的特性,我还没有看到它的需求。尽管如此,我可以想象为多个客户开发相同组件的公司会发现这非常有用

    我希望我能报告