jsWaffleでAndroidアプリを作ろう!クイズアプリ編⑫
では、まずAjaxについて説明します。
Ajaxの説明には、サーバサイド・スクリプトとクライアントサイド・スクリプトについて説明しておいた方が良いかも知れません。
WEBで使用されるプログラミング言語は大きく分けて
サーバサイド・スクリプトとクライアントサイド・スクリプトに分けられます。
サーバサイド・スクリプト
サーバサイド・スクリプトとは,書かれたプログラムをWEBサーバーで実行するタイプのプログラミング言語です。
現在最もよく使われるようになったPHPなどはこのサーバサイド・スクリプトです。
PHPで書かれた処理はサーバ側で実行され、WEBページを見たユーザー側のPCで実行されるわけではありません。
サーバ側で実行されたPHPの処理の結果がユーザー側のPCで表示されているにすぎません。
クライアントサイド・スクリプト
クライアントサイド・スクリプトはサーバサイド・スクリプトと異なり、ユーザーのPC側で処理が実行されます。
今回のシリーズでも使用しているJavaScriptがその例です。
JavaScriptで書かれた処理は、ユーザーのPCのブラウザで実行されます。
したがって、通常JavaScriptの処理実行のためにサーバにアクセスすることはありません。
サーバサイド・スクリプトの問題
WEB開発をしていると、作成したHP上の一部分だけを動的に変更したい場合などがあります。
例えば、twitterが更新されたら特に更新ボタンなどをクリックしなくても自動的に更新情報をHPの一部に表示したい場合などです。
もちろん、サーバサイド・スクリプトで画面の一部を動的に変更しているように見える処理を記述することはできますが、それは通常、画面の一部分だけを変更したHTMLをもう一度全部読み込みなおすような方法になります。
しかし、それではユーザビリティも下がりますし、無駄な処理をサーバに負担させることになります。
そこで、Ajaxという技術はクライアントサイドのJavaScriptからサーバにアクセスできるようにし、JavaScriptによってサーバから必要な情報だけを抽出し、HTMLを全て読み込みなおすことなく、一部だけを変更できるようにした技術です。
簡単に言うと、サーバにアクセスできないはずのJavaScriptでサーバと情報のやりとりができてしまう便利な技術ということです。
つまり、Ajaxを使用すれば外部のファイルから情報を読み込むことができるわけです。
そこで、今回クイズの問題を別ファイルで記述したXMLファイルを用意し、Ajaxを使ってそのXMLファイルからクイズ問題データを抽出してやろうというのです。
通常このAjaxを使おうとすると難解なコードを記述しなければなりませんが、今回も使用しているjQueryを使用すれば驚くほど簡単にAjaxが利用できます。