JavaプログラマはAjaxに乗るべきか:安藤幸央のランダウン(31)
「Java FAQ(What's New)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集局)
Ajaxプログラマに必要なスキルとセンス
Ajaxアプローチを活用したWebアプリケーション開発には数々の技術的スキルと、センスを要求される。もちろん統合開発ツールや整ったライブラリをうまく活用すれば、すべての知識に習熟している必要はない。しかし下記に挙げる各項目が得意であるかないかで、設計や全体の出来に反映してくるのは明らかであろう。
●Ajaxに必要なスキルセット
- JavaScript(ECMA Script/Jscript)
- DHTML(DynamicHTML)
- CSS(Cascading Style Sheets)
- http(http status)
- XML(eXtensible Markup Language)
- XSLT(eXtensible Stylesheet Language Transformations)
- DOM(Document Object Model)
- JavaEE(Servlet/JSP/JSF)またはPHPまたは.NETなどサーバサイドの技術
また、Ajaxアプローチを活用したサービス特有のユーザーインターフェイスYFT(Yellow Fade Technique)や、AjaxLoadといった独特のユーザーインターフェイスを熟知し、うまく取り入れていく必要もある。さらに設計段階でどの部分をクライアント側(JavaScript)に任せ、どのタイミングで非同期通信し、データを効率よくやりとりする方法を考えなければいけない。さまざまな点で従来のWebアプリケーションとは少々違い、リッチクライアント的開発要素が必要になってくる。
こういったユーザーインターフェイスのセンス、データのやりとりに関する設計のセンスは従来のWebアプリケーションの概念の範疇(はんちゅう)にありながら、使いやすいものが求められている。Ajaxに必要なスキルセット一覧を見ると、Javaプログラマ(特にサーバサイド、エンタープライズ分野のJavaプログラマ)が得意とする領域である。まずは使えるところからAjax的操作感、軽くて使いやすいユーザーインターフェイスを提供していけば、より良いWebアプリケーションを構築することができる。
Ajax統合開発ツール
Ajaxに関して、横目で見ながら興味を持ちつつも、あと一歩踏み出せない理由に、統合開発ツールの充実度がまだまだ低いことが挙げられる。実際、現在主流のAjax開発スタイルは、JavaScriptのXmlHttpObject()関数を直接コントロールしたり、Prototype.js、Dojo、DWR、Script.aculo.usなどのJavaScriptライブラリを活用するのが一般的となっている。
ただ、少しずつではあるが、従来のWebアプリケーション開発ツールがAjaxと親和性を持ってきており、Ajaxライブラリの取り込みや、Ajaxコンポーネントの扱いが可能なツールも登場してきた。 まずは、JavaScriptで用意された各種エフェクトや、ユーザーインターフェイス部品を組み合わせて簡単に手早く開発していくのが主流になっていくと考えられる。
では、Ajaxアプローチで開発する際に役立つ各種開発ツールをいくつか紹介していこう(Ajaxライブラリ、コンポーネントは除く)。
- ●TIBCO:General Interface Builder(無料)
ドラッグ&ドロップで部品を配置していくタイプの開発ツール。開発したAjaxアプリケーションはGeneral Interface Framework上で動作する。 - ●Morfik:WebOS AppsBuilder
XML、HTML、CSS、JavaScriptを記述することなしにAjax的アプリケーションを構築できるツール。Morfikの技術 JST(JavaScript Synthesis Technology)をベースとしている。
- ●JoyiStar:WebShop 2.2
オブジェクト指向に基づいたAjaxコンポーネントを組み合わせるビジュアル開発ツール。 - ●Genuitec:MyEclipse Enterprise Workbench 4.1
JavaEE 統合開発ツールであるMyEclipseへJavaScriptの編集/デバッグ機能が追加されたもの。 - ●HOWS:AjaxBuilder
マウス操作でWebページに部品を割り付けしていくことで、プログラミングなしで動的なWebページ用のコードが自動生成される。 - ●Sun:Java Studio Creator 2(無料)
Java Studio Creator に Ajax コンポーネント群が追加された。JSFコンポーネントで包まれた Ajaxコンポーネントを扱える。
- ●IBM:AJAX Toolkit Framework
Eclipse IDEに組み込むAjax用プラグイン。JavaScript編集機能、デバッガ、DOMブラウザなどの機能を持つ。 - ●Oracle:JDeveloper 10g Release 3(無料)
JDeveloper 10g Release 3より、JSFコンポーネントOracle ADF FacesがAjaxに対応するようになった。 - ●Interakt:JS Eclipse
Eclipse IDEへのJavaScriptプラグイン。Ajax用ライブラリDojoやPrototypeに対応。 - ●Microsoft:Atlas
NET環境でAjaxをサポートするAtlas Frameworkは今後正式版のリリースが予定されている。
統合開発環境と呼べるには、さまざまな機能と要素がそろっていなければ十分とはいえない。ライブラリ、コンポーネント(部品)、エディタ環境、デバッグ環境、テスト支援環境、ビルドツール、パフォーマンスプロファイラ、リファクタリング支援環境、等々である。これらすべてを100%満足するツールの登場が待ち望まれるが、単機能のみ満足するツールをいくつか組み合わせて利用するのも1つの手法である。
エディタ部分、デバッグ環境部分だけを見ればJavaScript専用の優秀なツールもいくつか存在する。状況に応じて単機能ツールを採用するのも効果が期待できる。Venkman JavaScript DebuggerなどのJavaScriptデバッグに特化したツールなどもAjax用とはうたっていないまでも、大いに活用できるツールである。
今後Ajax開発ツールに期待されるのは、WebユーザーインターフェイスのデザイナーとWebアプリケーション開発者の双方を満足させるツールである。また、複数のデザイナーとプログラマのチームが分業してプロジェクトを進めるのに適したツールが台頭してくるのではないかと考えられる。今後に期待しよう。
Ajax Officeの席巻
GoogleがWebワープロのWritelyを買収したり、ブラウザ上で表計算ができるajaxXLSやAjaxベースのカレンダーツールなどAjax周辺が騒がしい。従来インストールして使うタイプのアプリケーションが次々にAjax化してきている。
次回のコラムでは、Ajaxの広がりによって、より期待感の高まってきたAjax Officeツール周辺に関して取り上げる。
■関連書籍
- 「Ajaxイン・アクション」(Dave Crane氏ら著作の翻訳本/柏原正三(翻訳)、株式会社はてな(監修)/インプレス刊)
ISBN:4844322222(2006/04/28発売予定)
プロフィール
安藤幸央(あんどう ゆきお)
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.