まず、Ajaxを扱うために最低限必要な知識/技術は以下のものです。
本当に最低限の処理しか行わない場合には、これで十分です。最低限というのは「サーバーからのテキストデータを読み込んでページ内に表示する」だけの処理です。それもエラーが発生しないという条件で、なおかつ特定のブラウザであればということになります。
では一般的なレベルでAjaxを扱うとなると以下の知識/技術が必要になります。
- HTML
- スタイルシート
- JavaScript
- XML
- サーバー側のプログラム (CGIやデータベース等)
Ajaxは思った以上にいろいろな知識と技術が必要です。また、多くの環境でテストするためにWindowsだけでなくMacintoshの環境も揃えるのが安全です。実際にAjaxの動作対象となるブラウザとOSは以下のものになります。(他にもブラウザは存在しますが主なものを記述。また、対応ブラウザも増加していくでしょう)
●対象OS
- Windows (2003/XP/2000/Me/98)
- Macintosh (MacOS X)
- UNIX (Linuxなど互換OS)
●対象ブラウザ
- Internet Explorer (Mac版IE5は除く)
- Firefox
- Safari (およびWebKitを利用したブラウザ)
- Opera (8.01以降が安全)
どう環境を揃えるかは別として、とにかくいろいろな環境上で動作チェックを行う必要があります。予想以上に非互換の部分が多く、場合によっては簡単な日本語テキストのやりとりすら行えないこともあります。また、ブラウザが勝手に終了してしまう(落ちてしまう)こともあります(Safariが結構落ちやすい)。
クライアント側の環境だけでなくサーバー側の環境も重要です。簡単なものであれば、従来のCGIと全く同じ手法、プログラムが利用できます。全く手を加えずに済む事もあります。しかし、複雑なものであれば、サーバー側のプログラムとクライアント側のプログラムで調整を行う必要がでてきます。特に他のサイトの情報を取得し利用する場合にはクライアント側ではセキュリティの都合上、他のサーバーからのデータを取得できないためサーバー側でデータを取得し、クライアント側に渡す必要があります。
クライアント側とサーバー側を、うまく連携させ少ないコストでサイトが構築できればベストです。
では、上記の知識と技術だけで十分か?と言えば、今後はそれではすまないでしょう。Ajaxを使えば、一般のアプリケーションに近いものも実現可能です。これはつまり、市販のアプリケーション、ユーティリティを作成できる程度の技術も必要になっていくことになります。悪くいえば素人お断りの世界に突入したとも言えます。ただし、その複雑な部分を奥深く見えないようにし、手軽に使えるAPIなどを公開して利用してもらう、という流れになっていく可能性が高いと思われます。何にしても当面は面倒で複雑な事を行わなければならないでしょうし、そのためにノウハウを貯めたり情報を収集/提供していく必要があるでしょう。
[
5:Ajaxの弱点/難点へ]
[
目次へ]
(2005.12.15)