2012年08月03日
ライブラリは便利ですが
よく耳にする javascript ライブラリ、
jQuery
prototype
などなど。
これらは、ブラウザ間の挙動の差異を吸収してくれる上に、
詳しい人が作った高機能な仕組を簡単に実装することができるので、
便利なものです。
反面、いちど不具合を見つけてしまうと、複雑に入組んだソースを解析しなければならないことや
責任所在が無いこと、他ライブラリの競合を考えなければならない、
バージョンを保っておかなければならないなど、
課題も多いです。
よく自分がかかわる仕事では、
サイト共通の機能を実装するための javascript をつくることがあります。
自分のポリシーとして、ライブラリに依存しないようにしています。
他スクリプトへの影響や、ライブラリ競合などを警戒しているので、
それらのライブラリに頼ることができません。
当然、広域変数は使わずに、クロージャーによる実装となります。
ある日、とあるページがおかしいから見てくれと言われて、見てみたところ、
jQuery と prototype が競合していました。
ひとつのページで、$ の取り合いになっていたのです。
しかも jQuery.noConflict も有効に動いていませんでした。
jQuery.noConflict は、jQuery がバインドされる直前の状態に戻す役割がありますが、
下記のようになっていては、prototype に譲ることもできませんでした。
<script src=prototype></script>
<script src=jquery.1.4></script>
<script src=jquery.1.7></script>
<script>jQuery.noConflict()</script>
複数のデザイナがひとつのページを担当すると、こうなってしまうようです。
ディレクション、ガイドラインを明確化するなど、みなさんも気を付けましょう。
{a8.net http://books.livedoor.com/item/3668772}
jQuery
prototype
などなど。
これらは、ブラウザ間の挙動の差異を吸収してくれる上に、
詳しい人が作った高機能な仕組を簡単に実装することができるので、
便利なものです。
反面、いちど不具合を見つけてしまうと、複雑に入組んだソースを解析しなければならないことや
責任所在が無いこと、他ライブラリの競合を考えなければならない、
バージョンを保っておかなければならないなど、
課題も多いです。
よく自分がかかわる仕事では、
サイト共通の機能を実装するための javascript をつくることがあります。
自分のポリシーとして、ライブラリに依存しないようにしています。
他スクリプトへの影響や、ライブラリ競合などを警戒しているので、
それらのライブラリに頼ることができません。
当然、広域変数は使わずに、クロージャーによる実装となります。
ある日、とあるページがおかしいから見てくれと言われて、見てみたところ、
jQuery と prototype が競合していました。
ひとつのページで、$ の取り合いになっていたのです。
しかも jQuery.noConflict も有効に動いていませんでした。
jQuery.noConflict は、jQuery がバインドされる直前の状態に戻す役割がありますが、
下記のようになっていては、prototype に譲ることもできませんでした。
<script src=prototype></script>
<script src=jquery.1.4></script>
<script src=jquery.1.7></script>
<script>jQuery.noConflict()</script>
複数のデザイナがひとつのページを担当すると、こうなってしまうようです。
ディレクション、ガイドラインを明確化するなど、みなさんも気を付けましょう。
{a8.net http://books.livedoor.com/item/3668772}
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
posted by FJT at 06:33| javascript