前几天Adobe放出了Flex 4的beta版本,不对,应该说是Flash Builder4的beta版本。这下好了,再也不用纠缠于Flash与Flex到底有什么区别这种问题了,也别去争论Flex与Flash是不是对头了,其实,它们就是一伙的。Flex现在就专门指其中的framework,不会有误解了。
从Flex2到Flex3,总体说来没什么大的变化,程序迁移问题不大,但这次的升级估计又会带来一些麻烦。我订阅了aralbalkan的拨棵,他在http://aralbalkan.com/2209中提到了这个问题。顺手找了一个Flex3版本的程序,直接放在 FB4中编译,还可以跑起来,但抛出了一堆警告。
Flex sdk4中,最让人疑惑的估计就是命名空间了,mx,s,fx,这都是些什么东西?以前的xmlns:mx="http://www.adobe.com/2006/mxml"也可以跑。
在Flex2和3中,MXML 2006 命名空间定义并包含了所有组件的映射,而在4中, MXML 命名空间升级到 2009,且只包括一些特定的语言标签,组件则有自己的命名空间, Flex 3 、'Halo'组件在halo库命名空间,对应为:xmlns:mx="library://ns.adobe.com/flex/halo",而新的 Gumbo Spark 组件则在 spark库命名空间:xmlns:s="library://ns.adobe.com/flex/spark。
另外,Gumbo新增了FXG文件格式,类似于MXML组件,如果要在mxml文件中使用FXG,则要将FXG标签导入到MXML 2009命名空间中:xmlns:fx="http://ns.adobe.com/mxml/2009"