An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

CFUNITED 2007 - Day Two Afternoon

July 5, 2007 ·

After lunch (did I mention the food was pretty good this year, especially the desserts?), I went to a session on prototying applications with Flex which was originally going to be given by Scott Stroz. He's moved from AboutWeb to Alagad (Doug Hughes' company) so two AboutWeb folks stepped up: Kelly Brown and Michael Oddis. The session wasn't entirely what I expected but it was very interesting. Instead of really focusing on prototyping, Kelly and Michael talked about best practices in a number of areas and some techniques for event handling. Amongst the best practices, they listed pick a good directory structure (with the finished application in mind - and keep to it), use granular custom components for view (your prototype will likely become your real application so writing reusable code for your prototype will pay dividends), use inline XML or external XML files and HTTPService for prototyping so that you have a data model to build on, use CSS for styling, use the Flex style explorer, use external CSS (and compile it with the mxmlc compiler). They talked about event handling, using custom event types (so you have clear mnemonics for your application logic), event chaining and event bubbling (I got a bit confused here about what they were really recommending). They recommended adding your listeners in an onCreationComplete handler. One recommendation that I found really strange was to use ViewStack for different views onto the same data or components but to use States for different areas / aspects of your application. This flies in the face of every other recommendation I've encountered around view stacks and states - and it contradicts my experience of states in general. Overall tho', a very interesting session. Next up was my AJAX / ColdFusion 8 talk which had a large audience and lots of questions. Fortunately, several of the ColdFusion team were in the room so I picked on them and directed folks to question them after the session. When I gave the talk at cf.Objective(), there were far fewer questions and I ran through all of the slide deck, interspersed with examples. In the face of more questions, I focused on the code examples and just skipped through the slides which seemed to go over well. After my session I fielded a lot of questions in the hallway - good to see so much interest in the new AJAX features in ColdFusion 8! Consequently I missed most of Thomas Burleson's session on using MVC with Flex and ColdFusion - what I saw looked good but since I only caught the tail end, I didn't take any notes. I decided to skip the special event at the zoo and, after working on my startup's website for an hour, have a quiet dinner by myself. There was a thunderstorm and it rained heavily so I guess I made a good choice there. As far as dinner went, several of the ColdFusion team came into the restaurant just after I ordered my meal and they invited me to join them so I had an interesting informal chat with them (most of which centered on the advisability of a team sky-diving event, rather than ColdFusion!). The Meridian restaurant at the Marriott is extremely good and the "surf'n'turf" special - filet mignon and Maryland crab cakes - was absolutely wonderful! The bar was a zoo as well so I skipped that and continued work on my startup.

Tags: cfunited07 · coldfusion

2 responses

  • 1 Michael Oddis // Aug 3, 2007 at 12:12 PM


    Thank you for your review. I wanted address your interpretation of the use of State and ViewStack mentioned during our presentation. I wasn't recommending one pattern over the other and don't recommend the use of a ViewStack to display different views of the same data. For such functionality the use of a State component would be a better pattern. I recommend using the ViewStack to display a series of views which could be part of the same workflow or the Tab Navigator which essentially contains a ViewStack in the component itself to switch between different views within an application. You could use States to switch between say, edit and read only mode of a form, or between a Login and Request Password views, which are part of login process. I hope this clears up any confusion and again thank you for taking the time to attend the presentation and comment on your experience.
  • 2 Sean Corfield // Aug 3, 2007 at 12:51 PM

    @Michael, thanx for the clarification. I know I wasn't the only person coming away from your presentation with that impression. I only called it out in my blog post because I had several hallway conversations with folks who also attended and who all seemed equally puzzled by what they thought you were recommending.