In my earlier posts (way back in April 2010) I outlined how our Air client would work by using the HTMLHost with a couple special workarounds. Since then I've been pulled in many different directions, and its suffice to say that I am back on this project. In this post I will focus on setting up the CFML environment inside of the Flex/Air environment. If you've read my previous posts (Part 1 and Part 2), you'll see what we are trying to accomplish. In Part 2 I described how to setup the Flex/Air application to be much like a browser, albeit a very limited one. This worked well enough (many pitfalls which I will document in a future post), so the next step was to get it to render my CFML app.
In the first part of this series I explained my overall plan of action to develop an online/offline application using my existing CF application. This part will detail how I built the UI using Flex/Air 2.0. Notice I'm using Air 2.0 which at the time of this writing is still in Beta. The reason for this will become more obvious later (in part 3), but suffice to say I needed to leverage the new NativeProcess introduced in Air 2.0.
Ok, so with there being some bugs in the cfair.swc (like this one and this one), and it being such a new release, I've decided to take a slightly different approach to an online/offline application for the time being. This new approach is to write a "segway" version of our online/offline software using similar tools, but different implementation. Ultimately it will lead to a pure Air+Flex+CF9 solution, but makes a good transition as I will be re-using my ColdFusion application nearly untouched.