As a couple people have noticed, the nightlies of Flex 4 include some changes to the component names. Instead of <Button> we’ve now got <FxButton>. I asked Matt what was up and he gave me some info. If you’ve been looking at the Flex 4 stuff at all you know that what we’ve done is create new “Gumbonents” that have the same name as old components. Up until now we’ve been relying on different packages to keep them clear. So you used to see <mx:Button> and <Button> side by side and those belonged to different packages. With Flex 4 you can interchange the new “Gumbonents” and the old Halo components so we needed to support both models. It became pretty clear that packages alone weren’t going to cut it.
There are a couple of benefits to using prefixes over just packages. One is the ability to merge Halo and Gumbo components into one namespace, the 2009 namespace. This makes it easier to upgrade as we create new Gumbo components or update Halo components. It also means we don’t need to add namespace support for CSS which should save a lot of headaches.
In general this should make everything a lot easier. Tooling/code completion will make more sense, upgrading will be easier, and transitioning over to the Gumbonents will be easier as well. It may take some getting used to writing <FxApplication> instead of <mx:Application> but in the long run I think it makes more sense.
Related posts: