I have heard many times senior developers asking not to use coldfusion UI tags and that they cause problems. But can someone let me know what kind of problems it creates? I do not use CFML UI tags mostly, but some of the legacy code has them already. So if I have to change them, I need to convince people why they need to be changed. Reasons...
Edit:
I know this has been put on hold, but what I was asking about few points, a list kind of. So when I am talking with someone a client, fellow developer and want to emphasize the reason for not using cfform, I do have those reasons. With lot of good and some not so good answers, I reckon I can put up a list
1) They use old outdated versions of JavaScript libraries and HTML.
2) They have caused security issues in the past.
3) They get in the way of knowing how things actually work.
4) ColdFusion UI does work currently. However, the issue people have is simply, technology changes. It's simple as that really. jQuery and other UIs are constantly changing. Along with a lot of other APIs that ColdFusion UI uses. This means, if you are using ColdFusion 10 today and 5 years from now you are on ColdFusion 13 you may have issues with your ColdFusion 10's UI.
5) Another example is . had an issue recently because it uses google maps and google updated their API. Since the update took place it broke the tag. Since this is a ColdFusion UI and not your own it is difficult to just update the API calls. Which is why it is recommended to use your own. It's a simple fix with jQuery UI but not really ColdFusion UI.
6) Also, a lot of ColdFusion UI messes with your headers. For example, . This tag has been known to break mobile sites and other headers because it adds its own headers to your HTML page.
7) cfinput required="" is conflict with the HTML 5 input required=""
The issues with the UI tags built-in to CF are:
And possibly a few other reasons that have slipped my mind.
If you have old code that uses them, and the code works acceptably, then you're unlikely to get shot for not changing it - assuming there are no further undiscovered security issues, obviously.
(Though of course, whether the code does actually work acceptably or has simply been put up with may be a matter of debate.)
If you're working on new code, you should learn to use modern UI libraries that are written by actual JS developers who understand browsers, libraries that are far more widely tested and documented, that you can understand how they work, that put you in control of what's being done, and so on.
Instead of giving you a link to the solution to a problem that is unknown to @CFML_Developer I will simply briefly explain the issues I've had and other have had with ColdFusion UI.
ColdFusion UI does work currently. However, the issue people have is simply, technology changes. It's simple as that really. jQuery and other UIs are constantly changing. Along with a lot of other APIs that ColdFusion UI uses. This means, if you are using ColdFusion 10 today and 5 years from now you are on ColdFusion 13 you may have issues with your ColdFusion 10's UI.
Another example is <cfmap>
. <cfmap>
had an issue recently because it uses google maps and google updated their API. Since the update took place it broke the <cfmap>
tag. Since this is a ColdFusion UI and not your own it is difficult to just update the API calls. Which is why it is recommended to use your own. It's a simple fix with jQuery UI but not really ColdFusion UI.
Also, a lot of ColdFusion UI messes with your headers. For example, <cfform>
. This tag has been known to break mobile sites and other headers because it adds its own headers to your HTML page.
Finally, I personally find all ColdFusion UI more difficult to work with than actual jQuery UI. Just because with jQuery UI you can be specific to your needs and it's a lot more flexible to work with. Honestly, it's also faster to do if you understand jQuery.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With