看起来我可以同时使用组件<mx:>
或<s:>
.
那么,哪个更有优势呢?
正如其他海报所提到的,spark (s:) 命名空间是指 Flex 4 引入的新组件,而 halo/mx (mx:) 命名空间是指较旧的组件。
它们可以一起使用,这是必要的,因为没有所有 mx 组件的 spark 等效项(值得注意的遗漏是 DataGrid、Tree、DividedBox 等。)新 spark 组件的一些动机包括:函数,这意味着火花组件非常受皮肤驱动。更轻的重量以提高性能(您可以使用 s:Group 来布置组件而不是 mx:Canvas,因为 s:Group 没有任何视觉特征,例如填充或边框,所以效率更高。)
底线:我发现 spark 组件在性能方面非常有效,但在更改外观/行为方面有点挑剔,因为您需要为它们创建自定义皮肤。此外,它们还有一些需要解决的怪癖(为什么 DropDownLists 不像 mx 版本那样根据内容自动确定它们的宽度?!)由于 halo/mx 组件正在弃用的道路上,它通常是尽可能使用 spark 组件的好习惯。
<mx>
是旧的,正在慢慢贬值的命名空间。所有新项目都应<s>
尽可能使用,因为在未来的版本中,所有组件都将在<s>
升级时移至 (Spark) 下。
spark 命名空间是 Flex 4 的新内容,它们基本上是一个新版本或命名空间组件,我认为 sparl 组件的主要目标是易于皮肤等。
您可以阅读有关它们的更多信息http://www.adobe.com/devnet/flex/articles/flex4_sparkintro_02.html