Recently I launched my first Flex-based Air application. Here are my thoughts:
Flex apps are real apps
Previously I thought Flex applications where simply the V in an MVC framework with a bunch of fancy UI widgets. Now I see differently and the value of a Flex MVC framework becomes clear.
Value-Objects and ORM is beautiful
I used the Data/Services feature of Flash Builder 4 to get a quick start on the application. The object it creates can be sent to ColdFusion and saved to the database by simply using entitySave(). Powerful stuff. Exactly how this is used is dependent on the whole architecture architecture. I ended up having some Controller work in both Flex and ColdFusion, whether good or bad is for another day, because I needed to send some emails and notify other users via Messaging. I now see where the CFaaS feature could allow Actionscript programmers to add the features they need like email to their applications without writing any ColdFusion.
Messaging, Gateways and Config Madness
The messaging feature of Blaze DS/ColdFusion combined with Flex was the deciding reason for writing this application in Air. Its ridiculously cool to use but also ridiculously hard to set up. A whole bunch of XML files, Event Gateways, other gateways. Definitely an area that could be improved in the ColdFusion administrator and documentation.
Spark looks good out the box
One thing I did not like about Flex 3 apps was the default look. The new Spark look is great and looks lovely straight away. I have done almost no design for this application, the users like the look and feel, and overall that has been a big timesaver.
Overall I have really enjoyed writing my first Flex application. I'm definitely not an expert in it but was able to make a great desktop application with it. I can see that I need to learn more about architecting Flex applications to truly get the full benefits of it.