Now that I have a simple UI ViewStack framework configured, it is now time to test the incorporation of actual data into the Glossary view portion of the view stack.
I took a standalone flex based Glossary application which had been implemented outside of any framework(beside the flex framework). It uses an xml loader class which I use when coding in both Flash CS4 and Flex. Flex has a nice builtin HTTPService call with an ASyncToken feature but it is not usable in Flash CS4 so I standardized my xml based file loading requests around my hand rolled xml loader class.
I converted the Glossary application to a Glossary component and incorporated it into the Swiz based application framework first. You can view the swiz based resources player here. The view source is enabled, so just right click on the flex application to check it out.
I then incorporated the same Glossary component into the Mate based application framework. You can view the mate based resources player here. The view source is enabled, so just right click on the flex application to check it out.
Now this conversion was quick and dirty but it was much faster to do in Swiz. I could use more of my original work(code) without much change when I wired it up in Swiz(By throwing in a few autowire and mediate metadata tags). When I did the same conversion in Mate, I had to make more modifications to my views and the EventMap was very verbose. I also had to research which Mate based tags I needed to use in the EventMap and how to use them. Steeper learning curve.
In essence, with Swiz I seem to be coding to solve the problem instead of coding to the framework.
Compare the following files between the two framework versions to illustrate the difference:
- ResourcesBeans.mxml(Swiz) vs EventMap.mxml(Mate)
- ResourcesAppController – compare the code in both versions
- ResourcesModel in Swiz was distributed into two Files in Mate Version – ResourcesView and ResourcesAppController
- GlossaryView.mxml
Note: I also added an error view that displays a message if the xml data was not loaded properly.
Posted by ogrampowell