バニラJavaScriptを選択する
jQueryを用いて書いたコードと同等な働きをするコードをjQuery抜きで書くとどのようになるのかを示したWebサイト「You Might Not Need jQuery」(jQueryは必要ないかも)が先日話題になりました(はてなブックマークも180以上付いています)。
ちょうどこのWebサイトを話題にした記事「Choosing Vanilla JavaScript」が、Webデザイナ向けに情報発信をしている著名なWebサイト、A List Apartに掲載されていました。
Vanilla JavaScriptとは、要するに何もトッピングされていないバニラアイスクリームのように、jQueryなどのライブラリを使わない素のJavaScriptのことを示しています。
この記事は何でもjQueryを使うのではなく、正しい選択をしようというテーマの内容になっており、参考になりそうだったので翻訳しました(A List Apartの翻訳は許可されています)。
Choosing Vanilla JavaScript
著者:ANTHONY COLANGELO
私を含む世の中の多くのJavaScriptデベロッパーはjQueryが好きだ。それは優れたツールがそうであるように、とても役に立つし、なにか大きなWebアプリケーションで多くのフロントエンドコードを開発するときに、jQueryはとてもパワフルな役割を果たしてくれる。
けれども、比較的小規模から中規模な開発を行おうとするときには、バニラなJavaScriptを使うことをまじめに検討すべきだ。ときにそれはまるで古い手仕事のように思われるかも知れないけれども。
You Might Not Need jQuery(jQueryは必要ないかも)というWebサイトは、こうした場面に対する素晴らしい情報源だ。jQueryを使ったコードに対応するバニラなJavaScriptコードを教えてくれる。これによってjQueryがどんな動作なのかも、直接的に知ることができるだろう。
それぞれのコードを並べてみることは、どちらの立場にとっても有用だ(「jQueryは必要ないかも」であって「jQueryは必要ない」ではない点に注意)。要素を選択するだけなら、jQueryを使うかバニラなJavaScriptを使うかは、アニメーションのコードほど大きな違いがでることはない。だからもし、あなたが要素を選択することを多用しているのなら、バニラなJavaScriptを採用すればよい。もしもあなたがアニメーションを多用しているのであれば、jQueryは正しい選択だ。
歴史的に見て、jQueryは優れたツールだった。あらゆるクロスブラウザの問題を解決してくれたからだ。しかしYou Might Not Need jQueryの作者は次のように説明している。
Some developers believe that jQuery is protecting us from a great demon of browser incompatibility when, in truth, post-IE8, browsers are pretty easy to deal with on their own.
jQueryはブラウザ間の非互換性という大きな怪物から身を守るものだと、信じているデベロッパーは一定数いるけれども、実際にはIE8より後のブラウザでは、そうした問題は以前より扱いやすくなっている。
もしもjQueryを使わないのであれば、自分でブラウザの非互換性を解決するか、あるいはプログレッシブエンハンスドのユーザー体験を構築するかを選ぶことができる。いずれにせよ、利用者の稼働環境としてJavaScriptを要求するべきではないけれど。
バニラなJavaScriptを書く工数(およびjQueryをロードしないことによるリクエストやデータの減少)と、いくつかのブラウザにおいて完全なユーザー体験を保証しかねる点を秤にかけ、ほかのあらゆる仕事と同様に、あなたやチームや何を作るかによって正しい選択をしよう。
著者:Anthony Colangelo
Anthony ColangeloはフィラデルフィアのHappy Cogで働くデベロッパーで、同社のハイブリッドフロントアンドバックエンドデベロッパーであり、レスポンシブデザインからオブジェクト指向プログラミングまでのどの技術も好きである。彼とはTwitterで開発について対話できる。
あわせて読みたい
マイクロソフト、クラウドのシステム構成図に使えるアイコン集を公開。Windows Azure以外にも一般的なシステム構成図で使えそう
≪前の記事
[PR]Linuxビジネスを成長させたエンジニア上がりのリーダーが語る、ビジネスがうまく行かないリーダーのための処方箋