「Java FAQ(What's New)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集局)
Ajaxアプローチを活用したWebアプリケーション開発には数々の技術的スキルと、センスを要求される。もちろん統合開発ツールや整ったライブラリをうまく活用すれば、すべての知識に習熟している必要はない。しかし下記に挙げる各項目が得意であるかないかで、設計や全体の出来に反映してくるのは明らかであろう。
●Ajaxに必要なスキルセット
また、Ajaxアプローチを活用したサービス特有のユーザーインターフェイスYFT(Yellow Fade Technique)や、AjaxLoadといった独特のユーザーインターフェイスを熟知し、うまく取り入れていく必要もある。さらに設計段階でどの部分をクライアント側(JavaScript)に任せ、どのタイミングで非同期通信し、データを効率よくやりとりする方法を考えなければいけない。さまざまな点で従来のWebアプリケーションとは少々違い、リッチクライアント的開発要素が必要になってくる。
こういったユーザーインターフェイスのセンス、データのやりとりに関する設計のセンスは従来のWebアプリケーションの概念の範疇(はんちゅう)にありながら、使いやすいものが求められている。Ajaxに必要なスキルセット一覧を見ると、Javaプログラマ(特にサーバサイド、エンタープライズ分野のJavaプログラマ)が得意とする領域である。まずは使えるところからAjax的操作感、軽くて使いやすいユーザーインターフェイスを提供していけば、より良いWebアプリケーションを構築することができる。
Ajaxに関して、横目で見ながら興味を持ちつつも、あと一歩踏み出せない理由に、統合開発ツールの充実度がまだまだ低いことが挙げられる。実際、現在主流のAjax開発スタイルは、JavaScriptのXmlHttpObject()関数を直接コントロールしたり、Prototype.js、Dojo、DWR、Script.aculo.usなどのJavaScriptライブラリを活用するのが一般的となっている。
ただ、少しずつではあるが、従来のWebアプリケーション開発ツールがAjaxと親和性を持ってきており、Ajaxライブラリの取り込みや、Ajaxコンポーネントの扱いが可能なツールも登場してきた。 まずは、JavaScriptで用意された各種エフェクトや、ユーザーインターフェイス部品を組み合わせて簡単に手早く開発していくのが主流になっていくと考えられる。
では、Ajaxアプローチで開発する際に役立つ各種開発ツールをいくつか紹介していこう(Ajaxライブラリ、コンポーネントは除く)。
統合開発環境と呼べるには、さまざまな機能と要素がそろっていなければ十分とはいえない。ライブラリ、コンポーネント(部品)、エディタ環境、デバッグ環境、テスト支援環境、ビルドツール、パフォーマンスプロファイラ、リファクタリング支援環境、等々である。これらすべてを100%満足するツールの登場が待ち望まれるが、単機能のみ満足するツールをいくつか組み合わせて利用するのも1つの手法である。
エディタ部分、デバッグ環境部分だけを見ればJavaScript専用の優秀なツールもいくつか存在する。状況に応じて単機能ツールを採用するのも効果が期待できる。Venkman JavaScript DebuggerなどのJavaScriptデバッグに特化したツールなどもAjax用とはうたっていないまでも、大いに活用できるツールである。
今後Ajax開発ツールに期待されるのは、WebユーザーインターフェイスのデザイナーとWebアプリケーション開発者の双方を満足させるツールである。また、複数のデザイナーとプログラマのチームが分業してプロジェクトを進めるのに適したツールが台頭してくるのではないかと考えられる。今後に期待しよう。
GoogleがWebワープロのWritelyを買収したり、ブラウザ上で表計算ができるajaxXLSやAjaxベースのカレンダーツールなどAjax周辺が騒がしい。従来インストールして使うタイプのアプリケーションが次々にAjax化してきている。
次回のコラムでは、Ajaxの広がりによって、より期待感の高まってきたAjax Officeツール周辺に関して取り上げる。
■関連書籍
安藤幸央(あんどう ゆきお)
1970年北海道生まれ。現在、株式会社エクサ マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元 CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG の情報源となるWebページをまとめている。
ホームページ:
http://www.gimlay.org/~andoh/java/
所属団体:
OpenGL_Japan (Member)、SIGGRAPH TOKYO (Vice Chairman)
主な著書
「VRML 60分ガイド」(監訳、ソフトバンク)
「これがJava だ! インターネットの新たな主役」(共著、日本経済新聞社)
「The Java3D API仕様」(監修、アスキー)
Copyright © ITmedia, Inc. All Rights Reserved.