All 8 entries tagged Ria
April 15, 2008
Writing about web page http://code.google.com/p/cairngen/
Cairngen will set up a Cairngorm project structure for you (using Ant), and much more besides. For example it’s capable of auto-generating what are termed ‘sequences’, which are sets of event-command-delegate templates (plus other alternative combinations) that create the FrontController, ModelLocator and VOs required, plus all the relevant mappings and basic classes. The core templates can also be modified so that classes contain whatever boilerplate text you need. A little downtime now learning how to use Cairngen should save me work in future, and if I set up a basic project script anyone else using Flex/AIR here can should be able to get projects up and running more quickly.
March 26, 2008
Now and again I forget to properly close the debug player from within FlexBuilder, which in most cases is fine for a Flex app because it runs inside your browser instance, but if you do this with an AIR app it sometimes leaves an orphan instance running that you have to close manually, even if you close FlexBuilder – just look for any instances of ADL.EXE in your system process/task manager and close/kill it.
See that little button over there on my sidebar? My blog is now included in the Adobe News Aggregator service, which is fantastic. I’ve been reading MXNA for years and it’s been my primary source of information on all things Flex, Flash and AIR. Hopefully now I’ll be able to actively contribute to a community that has provided me with insight and Actionscript skills over the years.
February 06, 2008
Writing about web page http://a.viary.com/
Via Ryan Stewart’s blog, I’m quite taken with Aviary, a new set of integrated Flex/AIR applications that provide a range of creative tools. Integrated is the keyword here, because what they’ve done is to take a modular approach to the applications (there are separate applications for image-editing, vector drawing, 3D modelling, audio editing, video editing, layout and publishing, a word-processor and many more) while allowing them to work closely together, kind of like the Adobe Creative Suite tools work:
You can import a swatch from Toucan into Phoenix, while doing complex bitmap processing of a 3D object developed in Hummingbird. Finally, you can take your finished artwork and lay it out in Owl as the DVD artwork for a music CD you and your friends put together in Roc and Myna and offer it for sale in our marketplace, Hawk.
The other useful aspect to this is that the suite also allows collaborative working and sharing, so documents created in each application can be worked on by a team. Using these tools as an AIR application on the desktop, then seamlessly sharing it with others so they can work on it sounds like a great real-world application of the AIR concept.
January 30, 2008
First attempt at refactoring the recorder app to Cairngorm today; after trying and struggling slightly to get going with the PureMVC version (mainly because I couldn’t find a ‘getting started’ guide that worked for me and the official courseware is a closed beta) I decided to give Cairngorm a go.
Using Rob’s Simple Cairmgorm Application guide got me as far as having a skeleton framework, then I spent some time watching these excellent video tutorials by David Tucker. After modifying my existing classes and components to fit the framework eventually I got something working.
At some point I underwent one of those defining moments when something clicked in my head and now I can clearly see why this MVC stuff is A Good Thing. I now have much clearer separation of my data/value objects from my views, and can let the controllers handle events and commands. This also helped me rethink and rationalise the application design; starting with my basic views as MXML components and a simple ModelLocator, I could then define what events would trigger a view or state change, then register all those events and their Commands using the AppController. For me it was a big shift in approach and understanding.
This application doesn’t use VOs very much, but it has a lot of asynchronous states and timer events to manage, so it will be interesting to see what I end up with.