日経ソフトウエア2008年6月号にて掲載した「特選フリーソフト170」をお届けします。Partごとにテーマを決めて,そのテーマに沿ったフリーソフトを最後のページでまとめて掲載しています。2008年6月号の付録DVD-ROMには一部のフリーソフトを収録したため,それに関する表記がありますが,ご容赦ください。また,「お役立ちフリーソフト一覧」でもフリーソフトを紹介しています。
※ 記事は執筆時の情報に基づいており,現在では異なる場合があります。

Webブラウザが解釈/実行するスクリプト言語の一つであるJavaScriptは,サーバーと連携したシステムにも広く使われるようになってきました。JavaScriptのライブラリを使うことで,JavaScriptのプログラミングは,より生産性や保守性の高い,楽しいものになります。手始めに「jQuery」はいかがですか?

 Ajax(Asynchronous JavaScript+XML)という言葉が世にお目見えしたのは,2005年2月のこと。以来,Ajaxはあれよあれよという間に浸透し,今やWebアプリケーション開発には欠かせない技術,知っていて当たり前の技術になりつつあります。

 それに伴い,ここ数年で特に注目を集めるようになってきたのがJavaScriptライブラリ(フレームワーク)です。AjaxはJavaScriptを中心とした技術です。Ajaxが登場した直後は,「XMLHttpRequestオブジェクトやDOM(Document Object Model)のようなJavaScript標準の技術だけで,リッチなコンテンツを実装できる」「特別なライブラリは必要ない」――そんな評価を目にすることもあったかもしれません。

 しかし,実際に標準的なJavaScriptの機能だけでAjaxの開発をしたことがある方は,それがなかなかやっかいな仕事であることをわかっているでしょう。クロスブラウザ問題(Webブラウザ間での仕様差)を意識しながらのコーディングは,定型的ではあるもののコードを冗長にする一因ですし,DOMはちょっとした操作にも複雑なコードを要求します。現実的なAjax開発には,これらの問題を解決してくれるJavaScriptライブラリが欠かせないのです。

 JavaScriptライブラリは,ある問題解決に特化した単機能型のライブラリから,JavaScriptプログラミングを全般的に支援するフレームワーク的なライブラリまで実に様々です(最終の表参照)。本稿では,その使いやすさから人気の高い「jQuery」を紹介します。

jQueryのコンセプトはWrite Less, Do More

 jQueryは,John Resig氏によって開発されたJavaScriptフレームワークです*1。jQueryの特徴は,本家サイトのタイトルにもあるように「Write Less, Do More」――「よりシンプルなコードでよりたくさんの処理を」を可能にする,これに尽きます。

 ここでは「jquery-1.2.3.js」をベースに説明します。jQueryには「Minified」(縮小版),「Packed」(圧縮版),「Uncompressed」(非圧縮版)などがありますが,サイズが異なるだけで機能は同じです。通常,実行環境に配置する場合には不要な空白やコメントが取り除かれたMinifiedを,開発時には中身が確認しやすいUncompressedを利用するとよいでしょう。PackerというWebアプリケーションで圧縮してあるPackedは,実行時に解析が必要で動作が遅い,環境によっては動作が不安定になる,などのデメリットがあります。

 Aptana Studioで開発する場合には,プロジェクトを作成する際に[JavaScriptライブラリーのインポート」ダイアログで「jQuery1.2.3」にチェックを入れることで,プロジェクトにjQueryを配置できます。あとは,入手した「.js」ファイルを個々のページから読み込むようにすれば,jQueryの機能を利用できます。jQueryのファイル名は,本稿では「jquery.js」という名前に変更しておくものとします。