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=""
2 に答える
CF に組み込まれている UI タグに関する問題は次のとおりです。
- CFML 開発者ではない人々によって書かれました。
- HTML/JS 開発者ではない人々によって書かれました。
- 古いバージョンの JavaScript ライブラリと HTML を使用しています。
- 彼らは過去にセキュリティ上の問題を引き起こしました。
- 彼らは、物事が実際にどのように機能するかを知るのを妨げます。
- 平均的な JS ライブラリに匹敵するドキュメントはありません。
- cfform の Flash バージョンと XML バージョンは、特に操作が困難でした。
そして、おそらく他のいくつかの理由が私の心を滑らせました.
それらを使用する古いコードがあり、コードが許容範囲内で機能する場合、それを変更しないことで撃たれる可能性はほとんどありません-明らかに、未発見のセキュリティ問題がこれ以上ないことを前提としています.
(もちろん、コードが実際に許容範囲内で機能するのか、それとも単純に我慢されているのかについては、議論の余地があるかもしれません。)
新しいコードに取り組んでいる場合は、ブラウザーを理解している実際の JS 開発者によって作成された最新の UI ライブラリの使用方法を学ぶ必要があります。これらのライブラリは、はるかに広くテストされ、文書化されており、それらがどのように機能するかを理解できます。行われていることの制御など。
@CFML_Developer が知らない問題の解決策へのリンクを提供する代わりに、ColdFusion UI で私が経験した問題と他の人が経験した問題を簡単に説明します。
ColdFusion UI は現在動作します。しかし、人々が抱えている問題は単純に、テクノロジーの変化です。それは本当に簡単です。jQuery やその他の UI は常に変化しています。ColdFusion UI が使用する他の多くの API とともに。つまり、現在 ColdFusion 10 を使用していて、5 年後に ColdFusion 13 を使用している場合、ColdFusion 10 の UI に問題がある可能性があります。
別の例です<cfmap>
。<cfmap>
Googleマップを使用し、GoogleがAPIを更新したため、最近問題が発生しました。更新が行われたため、<cfmap>
タグが壊れました。これは ColdFusion UI であり、独自のものではないため、API 呼び出しを更新するだけでは困難です。そのため、独自のものを使用することをお勧めします。これは jQuery UI で簡単に修正できますが、実際には ColdFusion UI では修正できません。
また、多くの ColdFusion UI がヘッダーを混乱させます。たとえば、<cfform>
. このタグは、独自のヘッダーを HTML ページに追加するため、モバイル サイトやその他のヘッダーを破壊することが知られています。
最後に、個人的には、すべての ColdFusion UI を操作するのは、実際の jQuery UI よりも難しいと感じています。jQuery UI を使用すると、ニーズに特化することができ、より柔軟に作業できるからです。正直なところ、jQuery を理解している方が実行も高速です。