Please stop using Flash Forms

This post is more than 2 years old.

Ok, so I hate to say that any part of ColdFusion is less than perfect. I will not deny being an unabashed, Kool-aid drinking ColdFusion Fan Boy of the Nth level. That being said - there is one feature that - while I used to like it - I strongly recommend against: Flash Forms. I was a big fan of it, in fact, my Harlan open source ad server makes use of it. But as a feature - it is a dead end. Flash Forms have not been updated in quite some time, and since you can now develop Flex applications for free (remember it's just the IDE you pay for, if you want it), it is really a mistake to do any new development with it.

Want Flash-based forms? Use Flex. Don't use Flash Forms. Just. Don't.

Raymond Camden's Picture

About Raymond Camden

Raymond is a senior developer evangelist for Adobe. He focuses on document services, JavaScript, and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com

Archived Comments

Comment 1 by Wade miller posted on 8/19/2010 at 5:07 PM

I once used Flash forms, but I made the switch to jQuery, and I have never looked back.

Comment 2 by Tony Garcia posted on 8/19/2010 at 5:15 PM

I have never used Flash forms and I get what you're saying and agree with you, Ray --- to a point. The devil's advocate would say that really depends on what your needs are. If someone doesn't know Flex and their needs don't go beyond putting a few simple "flashy" forms on their site (maybe due to a client's request) it's kind of a tall order to ask them to learn the Flex language/framework rather than a few cfform tags.

Comment 3 by Dave Ferguson posted on 8/19/2010 at 5:42 PM

Well said. Could not agree more.

Comment 4 by Raymond Camden posted on 8/19/2010 at 5:46 PM

Tony, I'd argue they are an easy path to a bad end result. You will end up regretting the choice in the future.

Comment 5 by craig posted on 8/19/2010 at 6:11 PM

Just don't? This is a pretty big and worrisome statement without specifics. If I have been using them successfully, is there a need to rewrite? Is there a security issue, or are they being dropped for CF10? Where is this coming from?

Comment 6 by Raymond Camden posted on 8/19/2010 at 6:15 PM

@Craig: Good point. I should clarify.

1) There are no security issues with Flash Forms that I am aware of.

2) I do not speak for Adobe in terms of the future availability of Flash Forms. In other words, I'm not saying they will be removed from the product.

3) They work. To repeat - they work. However - they have limitations that are not present in the "real" version of Flex. I have encountered folks who again and again run into these limitations. Anything outside of a simple form will probably run into trouble. My goal for this post was to help folks _avoid_ the trouble right away. I think Flex is pretty simple to learn. Yes, it will take you more time then just using cfform, but I believe the benefits outweigh the additional time necessary. (And it's a one time "cost" really to learn Flex. You will reap the benefits of adding another language to your arsenal.)

Comment 7 by Neil Moncur posted on 8/19/2010 at 7:35 PM

Wow, is anyone still using Flash Forms? Flash forms were a huge disappointment. I used them a few times in CF7, and have invested a lot of time rewriting them into Ajax forms. Anyone who has tried them will know that they just aren't worth the aggravation, at least not unless they upgrade from Flex 1.5. How long is that even going to be supported anyway.

Comment 8 by Raymond Camden posted on 8/19/2010 at 7:36 PM

@Neil: Yes. In fact, check out my Contact form. I had to add the warning about Flash Forms a good year or so ago. (My fault really as I blogged about them quite a bit. I wont deny it - I was a user.) I saw another user mention it this morning and that's what spawned this post.

Comment 9 by Tony Garcia posted on 8/19/2010 at 9:32 PM

Again, Ray, I agree with the general sentiment in your post. (And like I said, I have never used Flash forms -- or Flex for that matter). In a follow up comment, you say "Anything outside of a simple form will probably run into trouble." But that's just it -- what if all somebody wants is a simple Flash form? If you don't already know Flex (and/or have no interest in learning it), learning Flex to put a simple Flash form on your site is overkill.

Comment 10 by Raymond Camden posted on 8/19/2010 at 9:51 PM

I guess my concern is - I've seen plenty of simple things move to complex. I've yet to see complex things move to simple. ;)

Comment 11 by Henry Ho posted on 8/19/2010 at 10:52 PM

Any other things in ColdFusion that we should stop using? Let's list them all out.

Comment 12 by JC posted on 8/19/2010 at 10:55 PM

but... but.... I <3 the grid component and they've basically dropped the applet support for it... and the one time I tried the ajax version, it didn't work very well.

Comment 13 by Raymond Camden posted on 8/19/2010 at 10:56 PM

@Henry: Any of the Applet things. cfapplet. cftable.

@JC: The Ajax one works very nicely IMHO.

Comment 14 by Praviin Mandhare posted on 8/19/2010 at 11:45 PM

Hi, I am sorry am asking a technical question on a blog that is discussing something else. But as I can see all Gods of ColdFusion are probably on the same page and I could not be lucky enough to find everyone at one place.

I am student at Pace University, NY and working on a project.

So guys my problem is - I have cfgrid (flash) . I have mixed n matched code from various places to make it run. I am trying to select information of people (field) on one cfgrid and display the elaborated information about the selected fields on another page.

I also have added a capability to filter the grid.

Now,
If i select the fields in a single row without applying the filter ... the information is displayed in proper order. but, if i search a particular field using any parameter..and select that field and go to next page .. it does not display the information on the other page.

As per my understanding the filter is creating an array of the data in the grid already and cannot pass through to other page as a form variable.
I am pasting the code below... please see if you can make any sense out of it :(

Comment 15 by Praviin Mandhare posted on 8/19/2010 at 11:47 PM

u can take a look at the running code on

http://appsrv.pace.edu/HR/E...

Many Thanks
--Praviin

Comment 16 by Douglas Knudsen posted on 8/20/2010 at 5:34 AM

Holy crap! That's a lot of code in a comment, had to scroll forever on the iPhone here. But hey! Perfect example of when not to use these flash form things. Wow! Flex 1.5, the horrific memories...shudder

DK

Comment 17 by Raymond Camden posted on 8/20/2010 at 5:36 AM

Ugh, I'm going to edit his comment now. Pravlin, I don't mind OT posts in general, and yours is kinda on topic, but large blocks of text do not post well. Please use Pastebin in the future.

Comment 18 by Lola LB posted on 8/20/2010 at 2:47 PM

@Tony . . . can you explain what a simple Flash form would look like? Two text fields, with validation to check that the input is in a proper format (perhaps 35 characters max, alphanumeric, and also check that the 2nd input is a telephone number), with Submit and Cancel. In that case, why are we making it a Flash form and not a regular form that has been stylized with CSS to make it look great?

Comment 19 by Mike Collins posted on 8/20/2010 at 5:20 PM

I agree. They do work and no need to panic over it but it's a good message to get our there.

CFForms built on Flash work by translating\compiling your CF code to mxml \ actionscript based on SDKs and the languange when Flex 1.5 was around.

When they first came out they were designed for single data load usage, but soon someone figured out how to get flashremoting working and you starting to see people do all kinds of interactivity with them.

ASFusion.com remains a great resource for some really cool CFForm and Flash applications.

I have never seen any feature just disappear in one release, so I'd expect them to work, perhaps in a sandbox, but I would also expect to see changes here.