ActionScript MXML <mx:> vs <s:> </s:> </mx:>

时间:2010-08-13 14:21:34

标签: actionscript-3 flex mxml flex-mx flex-spark

看起来我可以为<mx:><s:>使用组件。

那么,哪个更有优势?

3 个答案:

答案 0 :(得分:10)

正如其他海报所提到的,spark(s :)命名空间是指Flex 4引入的新组件,而halo / mx(mx :)命名空间是指较旧的组件。

它们可以一起使用,这是必要的,因为所有mx组件都没有火花等价物(值得注意的遗漏是DataGrid,Tree,DividedBox等等。)新火花组件的一些动机包括:分离从功能的形式,这意味着火花组件是非常皮肤驱动的。性能提升的重量更轻(您可以使用s:Group来布局组件而不是mx:Canvas,因为s:组件没有任何视觉特性,如填充或边框,因此效率更高。)

结论:我觉得火花组件在性能方面非常有效,但是因为你需要为它们创建自定义皮肤而改变外观/行为有点挑剔。此外,他们有一些仍然需要解决的怪癖(为什么DropDownLists不会根据mx版本的内容自动确定它们的宽度?!)由于halo / mx组件在弃用的路径上,它通常是尽可能使用火花组件的好习惯。

答案 1 :(得分:1)

<mx>是旧的,慢慢被折旧的命名空间。所有新项目都应尽可能使用<s>,因为将来的版本中所有组件都会在升级时在<s>(Spark)下移动。

答案 2 :(得分:1)

spark命名空间是Flex 4的新功能,它们基本上是一个新版本或命名空间组件,我认为sparl组件的主要目标是易于皮肤等。

您可以详细了解http://www.adobe.com/devnet/flex/articles/flex4_sparkintro_02.html