Welcome!

ColdFusion Authors: Yakov Fain, Pat Romanski, Liz McMillan, Maureen O'Gara, Greg Ness

Related Topics: ColdFusion

ColdFusion: Article

Viewpoint: Not Every ColdFusion Developer Should Be A Flex Developer

I am a big fan of Flex...but it is not a tool that every ColdFusion developer can grasp

Andy Powell's Blog

I am going to go ahead and contend that although a good number of ColdFusion developers can grasp and understand Flex very well, there are also a good number of ColdFusion developers who have no business going anywhere near Flex. Why do I say this? I am a big fan of Flex. I use it daily to create, what I think are, some kick-ass applications. It is a powerful tool that really changes the game on the web and the desktop. That being said, it is not a tool that every ColdFusion developer can grasp.

Flex development is a completely different animal than ColdFusion, Java, PHP, ASP.NET, or any other server-side language you want to use. The most difficult thing for developers coming to Flex from the server-side to grasp is that the concept of request-response is gone. Done. Finitio. Bye-Bye. Sure, Flex clients can make requests to the server, but you don't listen for the response, you let the call happen and listen for your HTTPService, RemoteObject, or whatever to broadcast a result or fault event. Learning, and understanding, the concept of an event-driven approach to application development is the single biggest hurdle to the ColdFusion developer coming to Flex. Let's face it, not everyone is up to the task.

A side note here, when we talk about Flex development, we're talking about both MXML and ActionScript development

The other concept that is a real stumbling block to a lot of ColdFusion developers is that ActionScript is nowhere as forgiving as CFML. You better make damn sure your variables are scoped and typed properly. (The IDE can help with this quite a bit.) ColdFusion's duck typing can lull a developer into some bad practices (read the previous link) that will burn them, or raise the barrier to entry when they come to a strongly typed language like ActionScript. I think that learning another strongly typed, true OO server-side language, like Java, in addition to ColdFusion, can help a ColdFusion developer transition into Flex a little bit better and easier.

Anyone that doesn't want to, or can't, deal with these major hurdles should probably consider steering clear of Flex. If you can't handle OO concepts beyond what CFCs give you, stay away from Flex. You will find Flex difficult, become easily frustrated, and then find some silly reason to dismiss Flex when you really weren't really ready for it to begin with. It's OK though, you can always fall back on your Javascript kung fu and go the AJAX route for RIAs.

Let's stop here for a second and go off on yet another tangent for a paragraph. I want to put an end to one argument that someone will make, right now: Flex is not a ColdFusion killer, competitor, enemy, etc.. Flex is the new UI. The new "V" in your MVC. The new presentation layer. ColdFusion is still relevant in that it can provide data to that UI. End of argument and tangent.

If you are still undaunted, then good for you. Press on with your Flex adventure. Take a training course and learn the basics. Flex is not especially easy to learn, it will take a concerted effort. Further more, once you learn it, ActionScript and MXML are so powerful and complex that it will take longer for you to master Flex.

Once you do however, you will find that there is so much more you can do with Flex to build your kick-ass RIAs. You can use powerful 3D and physics engines, written in AS3, to bring UIs to life that you've only dreamed about building, plus so much more. You just have to have the guts to break out of your comfort zone and charge into it, if you really want to learn Flex.

[This post appeared originally here and is republished in full with the kind permission of the author, who retains full copyright.]

More Stories By Andrew Powell

Andrew Powell has been architecting and developing Web applications for over 10 years using ColdFusion, Java, ASP.NET and ASP. His background includes experience running IT Departments for firms in the executive search and aviation consulting fields. You can read his blog on everything ColdFusion, Java, Flex & AJAX at www.infoaccelerator.net.

Comments (8) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Adobe Staffer 06/22/08 10:28:25 AM EDT

Maybe you should change the title to Things to Consider When Developing Flex Applications. It's not necessary to belittle other CF developers who may have had challenges adapting to Flex.

anthony 06/12/08 02:34:20 AM EDT

what??? flex is hard??? then why was I able to program with it in less than a week?

qmeister 05/07/08 10:12:46 AM EDT

I think you just did a good job of alienating your audience. Just because bad practices can be done using ColdFusion doesn't mean the people doing those things can't straighten up when necessary. Really? You are putting down the very people that might read this? Really?

Mark 05/02/08 01:35:09 PM EDT

Here's what I took away from this article: a lot of CF developers may be to stupid to use Flex because CF is a very simple language geared towards novices.

CF, basically, is a dead language anyway; however, you may have just sucked any life it may have had left. Good job...

GMurnock 05/02/08 10:33:24 AM EDT

The harder everyone makes it sound to make the move to Flex, the more work there is for those of us who have dumped everything and have dove head first into Flex. :)

Scott Emery 05/02/08 08:56:41 AM EDT

I agree with the basic idea. MXML is quite a bit different than CFML. But 'old dogs' can change and learn new things. From my experience, I was suprised (and wasted about a day) because case matters tremendously: bindable is very different than Bindable. But I'll learn.

CF/Flex Developer 05/01/08 11:59:49 PM EDT

That's like saying that not every ColdFusion developer can be a hairdresser. I didn't find out I was terrible at cutting hair until I tried. My wife did not like her new do at all, but at least she no longer had to comb it, brush it, or blow it dry.

The important part was that I tried and failed; much better than letting someone tell me flat out that I just can't do it. Sorry Andy, but this wasn't exactly a well thought out article.

Michael Cohen 04/24/08 11:26:55 PM EDT

@Andrew,

I disagree with you and I see no reason for a ColdFusion developer not to use Flex. I'm new to Flex and within only a week of searching through the API and fooling around with the Eclipse Plug-in it's amazing what I've been able to accomplish.

The power of flex is amazing and the road seems to not just be tilted but directed smack dab at Flex as the next big web craze.

Wouldn't you agree that soon Flex applications and RIAs will become a standard? What I don't understand is why any company or developer would not want to take advantage of the rich interface and tools Flex provides.

When you think ahead to a year from now, when RIAs dominate the web, wouldn't ColdFusion developers simply be at a huge disadvantage? Shouldn't ColdFusion developers get the ball rolling and dive right in. Isn't this just another step in the learning process? Yes this leap may be further for a ColdFusion Developer but when beginning programmers said it was time to learn java was there really any difference.

-Mike