ColdFusion MX 6.1 Verses Flash MX 2004

I’m working on a relatively simple application that I have decided I am going to build both a ColdFusion/HTML and a Flash interface for. Neither interface will provide any more or less functionality than the other, and both will be written on top of the same components, but I think it will be an interesting experience. I will document the pros and cons of both approaches as I go along.

I’m considering a slightly unique architecture for this project, as well. The Flash front-end will use web services to communicate with the server, and I’m actually considering having the ColdFusion/HTML interface communicate via the same web services. Unconventional, I know. The the obvious approach would be to have the web services that the Flash front-end uses wrap the components that the ColdFusion/HTML interface uses, but if they both use the same web service interface, that would allow me to run the ColdFusion interface on a different server than the rest of the back-end, which I think is interesting. I haven’t decided yet, but I’m leaning in that direction. If nothing else, it would be an interesting experiment, and I am interested in seeing how the ColdFusion application would perform.

8 Responses to ColdFusion MX 6.1 Verses Flash MX 2004

  1. Kirk Mower says:

    I have run into these same problems. Will Royale be providing a solution to this whereby we can insert ColdFusion which will then generate the Flash elements needed ? This, it seems to me, would be the ideal situation.

  2. Brian says:

    Don’t forget about crossdomain.xml!

  3. Christian, one thing that I’ve yet to test but have advised a mate at MM, it seems that returning an array of structures compared to a recordset may give better performance for large collections of data in some of the V1 components (e.g. FDataGrid). Sounds about right as recordset is not a native object in Flash but something that is made to work via the APIs.

  4. ark says:

    Been there, done that! We’re running a similar setup in production with CF accessing CF based webservices on different (MX 6.1) servers…the webservices are getting about 200,000 hits a day (each). Only significant thing is we stay behind a firewall to access these so there’s no “round-trip” overhead. Performance hit compared to running the CFCs locally as components is negligible.

  5. I think what your doing sounds like the way the web should be setup :)Interesting to see how you use HTML to interpret the webservice, in that we (my team and I) have found that keeping the UI / Client side of things abstract from internal model logic, to be an easy solution, it only gets hairy when you start looking towards the front side of things.As a vetran CFMX programmer turned Flash MX developer, I have found that while HTML rox for basic UI, you can still get away with tonnes more within Flash (especially with using enterprise level frameworks and the fact you can use OO concpets like listeners and such), while still keeping the internal logic abstract from the UI elements themselves. HTML doesnt really allow this, its more of a locked down environment to code in and so the only possible solution that we have found so far is to adopt an XUL style approach to web-based UI.We haven’t tackled how HTML will take on the XUL side of things as Flash seems perfect for it, especially if you have written your own UIForm / UIOther components to be setup for XUL interpretation (something that I think Macromedia really should of done for Flash MX 2004 – especially with the new SOAP hooks, as they could of saved themselves allot pain with regards to skinning).So yeah, I’m very interested in seeing how you approach the HTML side of things as i have found this to be the bane of such a cool setup, CSS helps but i dunno, it feels like its not quite ready/capable of such an approach.

  6. John Dowdell says:

    Maybe I’m focusing on the wrong tangents too, but as Scott notes the exposed service API would model the data and the operations you’d perform about it, and the presentation layer shouldn’t enter into it at all, true…?Or is it more like “Shall I use Central-like SOAP or webservice calls on the client to a remote server, or shall I make remote calls on my hosting server and redirect it to my SWF clients?”(I’m working on my first cup of coffee, so forgive me if I got offtrack among the various ideas here… :(jd

  7. Stacy Young says:

    This is our exact setup. CFMX applications tieing into Java backend via web services…CFMX powers the portal and rich clients. Works great!

  8. Lisa Wilson says:

    We’re doing an HTML or Flash version of our menu based on our detection of the user’s browser type.Kind of a pain, but we have to in case the user does not have Flash 6 loaded (or a browser that’s remoting compatible!)Our testing so far has been great. We use cfinvokes (multiple functions) on the display page if the variable is set for HTML and pass in vars through FlashVars if the variable is set for Flash. We dynamically populate everything.My favorite cfreturn is an array of structures because Flash likes it as an associative array. It’s just easier to pre-format what I want and deliver it in the same manner for HTML or Flash.