2011-06-29 61 views
1

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

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

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

此外,为清楚起见,我现在在的FlashDevelop工作,而不是在任何Adobe的专有IDE的。所以我猜想基于“哪个版本的IDE与特定库一起发布”的软件包之间的区别有点让我失望。

回答

4

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

一些事情的Flex让你:

  1. 声明标记在MXML形式
  2. 数据绑定
  3. 国家管理
  4. 剥皮
  5. 组件模型来创建自己的复合材料部件

由De错误,当您在Flash Builder中创建新的Flex项目时,不会导入这些控件。但是,看来that it is possible

从我可以告诉,不会有太多的使用情况这样做(除了集成遗留代码等),因为Flex提供一切的一切相比fl.controls

3

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

1

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

spark.components和fl.controls都可以被剥皮。不同之处在于火花。组件具有skinnable界面,允许用户使用许多不同的皮肤来粘贴相同的组件。对我而言,这是一个我尚未见到要求的优雅功能。虽然,我可以想象为多个客户开发相同组件的公司会发现这非常有用。

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

相关问题