Topic: Application Design
If you’re looking to simplify the local database access part of your AIR app, this might be the ticket. Brandon Ellis has written a no-frills wrapper class for AIR local database operations. The biggest benefit it provides is that if you add, delete, or update data in a table, it automatically updates whatever component is displaying the data from the related SELECT statement.
The part that caught my eye the most was that the wrapper class doesn’t dispatch any events to notify the view when the operations have completed. How, I asked myself, does it notify the view when the updated data loads? After a few seconds I realized the answer — it’s the magic of Flex data binding. The DataAccess class exposes the SELECT results as a property (dbResult) that’s a Flex ArrayCollection, and it’s marked [Bindable]. A Flex control can bind to that property as a data provider, and whenever the DataAccess instance reloads its data and updates the ArrayCollection. Then the Flex framework takes over, and the view gets updated automatically. Pretty slick; and it definitely saves a lot of event-handling code. So I guess seeing this in action gave me further appreciation for the power of data binding.
It has a couple of minor issues that I’ve noted in the comments on that page (but mostly they should be fairly easy to fix, if Brandon or someone else decides to do so).
(via: Greg Hamer)
If you’re interested in building large-scale Flex apps and not sure where to start, Brian Riggs has a nice article on Architecting a Flex App, where he gives a good overview and introduction to structuring an application using the Model-View-Controller pattern, as implemented in the Cairngorm framework.
Brian is one of two (at least so far, maybe there are more) authors writing on the Adobe Kiwi Project blog. The Kiwi Project (as stated in the tagline of the site) is a project which is working on creating “Read/Write Web Components for Flex.” I’m not sure of the details of what that means, but parts of it can be seen in the open-source NoteTag note-taking application which Brian uses as his example in this and other articles, and which is available on the Adobe Labs site.
Darrick Brown, who also writes on the site, has put up a couple of nice articles on ActionScript 3 from a C/C++ perspective. I don’t know either of those languages, although I work a lot in C# so I understood all his examples just fine. In any case he’s got what I think are some nice examples and thoughts for someone coming from any modern language.

