帮助我解决这个问题。 fl.controls和fl.events实际上是flex的一部分,但我从未意识到这一点?或者它们是竞争的小部件库/框架,但出于营销原因,Adobe没有打算分配像“flex”这样的性感名称?
如果flex与fl.controls和fl.events不同,你可以在flex / AIR应用程序中使用这些库吗? (我不关心“flex”方面,只想制作AIR应用程序)或者它是一个问题 - 或者是fl。*还是单个项目中的flex库?
另外,为了清楚起见,我现在在FlashDevelop中工作,而不是Adobe的任何专有IDE。所以我想基于“哪个版本的IDE随特定库一起发布”的软件包之间的区别对我来说有点丢失。
答案 0 :(得分:4)
我所知道的fl.controls
库实际上只是一些可以在Flash中使用的小部件。另一方面,Flex是一个应用程序开发框架,具有丰富的开发功能,您无法单独使用AS3和fl.controls
。
Flex带给你的一些东西:
默认情况下,在Flash Builder中创建新的Flex项目时,不会导入这些控件。但是,它似乎是that it is possible。
据我所知,执行此操作的用例并不多(除了集成遗留代码),因为与fl.controls
相比,Flex提供了所有内容和更多功能。
答案 1 :(得分:3)
fl.controls.*
是Flash Professional中使用的组件。它们类似于Flex框架中的mx
或spark
组件。但是,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的重量更轻,但能够衡量这种优势会很好。