Am I the only one to notice a gigantic gap in the Flash Platform? I’m talking about the lack of AS3-only UI components.
Currently there are three main ways to create a Flash application.
1. Use Flex and MXML in Flex/FlashBuilder (or mxmlc and your favorite editor/ide).
2. Use the Flash IDE.
3. Use AS3 in Flex/FlashBuilder (or mxmlc and your favorite editor/ide).
In option 1, you have the vast and awesome set of Flex components.
In option 2, you have the less vast and less awesome set of Flash components.
In option 3, you have… nothing.
OK, smarties, I know what you are saying. “You can use the CS3/CS4 Flash components in Flex/FlashBuilder!” Yes, just follow these 20 simple steps: http://www.moock.org/blog/archives/000253.html and you’ll be up and running! Even Mr. Moock says, “the process isn’t pretty”. Oh, not to mention the fact that this requires purchasing both Flash and FlashBuilder. If you don’t actually use the Flash IDE, that’s a lot to pay for those components. Additionally, those components were designed for the IDE. They are jammed full of stuff for live previews and component parameters in the IDE and their whole skinning system relies on you being able to double click on the symbol on stage or in the library and change the skins. I know that none of that makes them NOT usable in Flash Builder, and I know there are ways to skin the programatically. But you are essentially retrofitting something built specifically for one IDE to work in another. This means you are missing features that are in the original IDE, and they are missing features that should be tailor made for the IDE you are using.
But overall, it’s just wrong that you should even have to go through such a process. I feel like there should be a set of UI components built for AS3 that you can use without jumping through hoops or spending hundreds of dollars on another whole program, and don’t depend on the Flex Framework.
This is why I started making my Minimal Components in the first place. I often just wanted a button or slider or something else for an experiment. So I made a few basic components, and they just kept growing.
Contrary to how it may sound though, I am not pushing for my components to be included in Flash Builder. They aren’t right for that purpose. Not by a long shot.
Actually, after writing this post, I think maybe the best solution would be for Adobe to simply include the Flash components in Flash Builder. Although there is some extra baggage along with them, It occurs to me that the wrong move would be to create another whole set of components. That would just cause more confusion than it’s worth. Perhaps a slimmed down set, without any of the Flash IDE (live preview, parameters, skinning stuff) included, but with the same class names, etc. so that a class using them could compile in either environment. Thoughts?