第11回 JSONがRFCになり、どんどんこなれるAjaxサービス

株式会社ピーデー
川俣 晶

2006/9/1

JSONがRFCの1つになったからというわけではないだろうが、Ajaxサービスがいよいよ使いやすくなってきた。フリッカーの写真を楽しく掲載できるツール、スティッキー型ブログ、その場で画像編集、本格的なテストができるツールなどが登場した(編集部)

 ハイライト1・フリッカーの写真を美麗に活用!

 投稿型の写真掲載サイトとして人気のあるフリッカーを活用する話題2点です。

 FlickrStormは、上記リンクからサイトを訪問すると、真っ白な画面が見えるだけで何が面白いのかピンとこないでしょう。しかし、paris(別の単語かもしれません)と書かれた個所をクリックした瞬間に、後ろに“simply hit ENTER”と出て、ここでENTERキーを押せば検索が実行されることが分かります。

 同時にその下の2つのアイコンに、your history、 your trayという名前と説明文が浮かび上がり、機能を知ることができます。

 そのままparisをBackSpaceキーで消して、検索単語を入力してENTERを押してみましょう。検索結果が中央に表示されるので、見たい写真をクリックします。その写真は右側に表示されると同時に、左側のヒストリリストに追加されます。Ajaxですから、ページ間を移動することなく、すべてがスムーズに動作します。

スムーズな画像検索ができる。タグがついてるもの、そうでないものを別々に表示

 ちなみに、中央の検索結果は2つのリストに分かれていますが、どうやら上は検索単語がタグに含まれているもの、下はタグに含まれていないが検出したもののようです。

フリッカーのスライドショーが手軽に

 もう1つ紹介するflickrshowは、スライドしながらフリッカーの写真を閲覧するためのライブラリです。上記リンクからサイトに飛べば、すぐにデモを体験できるので、滑らかに写真が切り替わる気持ちよさは分かっていただけると思います。自分が必要とする設定に合ったプログラムを自動的に作り出す機能もあり、手軽かつ強力といえます。

 これらは、既存のサービスをありのまま受け入れるのではなく、さまざまな工夫を付け加えることで自由に改良していくという、まさにWeb 2.0的な事例ということができます。

 ハイライト2・JSONがRFCになる

 Ajax時代に生まれた新しい情報交換言語であり、JavaScriptとの抜群の相性の良さと、他言語でも極めて実装が容易であることから急速に普及しているJSON(JavaScript Object Notation)ですが、これがインターネットの標準を定めるRFCの1つになりました。番号はRFC 4627です。

 といっても、CategoryはInformationalなので、参考情報的な位置付けとなりますが、このRFCの主要部分を高橋登史朗さんがざっくり訳しています。

 さて、JSONがRFCになるということは、Ajaxの動きがインターネットの世界で認知されている1つの証拠ということができるでしょう。とてもうれしいことですね。しかし、これがXMLを勧告したW3C(World Wide Web Consortium)ではなくIETF(Internet Engineering Task Force)から出てきたことは、一筋縄ではいかない屈折があるようにも感じられます。

 少なくとも、インターネットのあるべき姿について、1つの統一された見解は存在せず、人や団体が変われば正義も変わる……と思っていた方が確実でしょう。

 ハイライト3・Office 2007っぽさが味わえるAjaxUI

noovoのデモ(デスクトップタイプ)

 英語ですが、Office 2007の新しいユーザーインターフェイスであるリボンのようなものを、Ajaxで実現したという記事です。ソフトそのものは、Noovo Communicationsのリンクから“START DEMO”をクリックすることで体験できます。

 これを紹介したのは、2つの角度から見てユーザーインターフェイスの激動期の入り口にあるといえるからです。Ajaxの出現は、Webアプリケーションのユーザーインターフェイスを大きく変えつつあります。

 しかし、それだけではありません。Windows VistaやOffice 2007は、WindowsやOfficeのユーザーインターフェイスも大きく変えようとしているのです。いま起こりつつある変化の動きを正面から受け止めるのか、それとも拒絶するのか。受け止めるとしたら、さまざまな提案の中のどれをどのような形で受け止めるのか。いろいろ、課題は多いと思います。

 そのほかのみどころ

 Ajaxとそれに関連する話題を紹介します。

登録された衛星の動きをライブ表示

Google Maps上で人工衛星の動きを追跡

 Google Mapsの地図上で、人工衛星の動きを追跡できます。とても多くの人工衛星が登録されており、それらの現在位置を知ることができます。しばらく表示したままにしておけば、軌跡も残ります。

 ちなみに、ひまわり5号が登録されていますが、これは静止衛星です。見ても動かないので面白くありません。念のため。ちなみに、ひまわり5号は現在南米近くの大西洋上にあるようです。

 アマチュア無線用の衛星(いまひとつ知られていませんが、アマチュアも人工衛星を持っています)もリストにあるのは、衛星通信愛好家のアマチュア無線家にはちょっと便利……かな? (すみません、アマチュア無線の世界から離れてうん十年なので最近の動向は分かりません。名前を知っているアマ衛星がオスカー6号って古過ぎますよね)

ほかにもいろいろなツールがある(Getting More out of Ajax4jsf

JavaScriptなしでAjax

 JSF(JavaServer Faces)は、JavaでWebアプリケーションを作成するためのフレームワークです。Ajax4jsfは、それをベースにして、JavaScriptのコーディング抜きでAjaxアプリケーションを作り出すフレームワークです。JavaやJSFには慣れているが、JavaScriptには慣れていないプログラマには朗報でしょう。

 このような、「自分が知っている技術」経由でAjaxに至る技術は、これから増えていくのではないかと思います。そのような意味で、注目する価値があるフレームワークの1つだと思います。

スティッキーをパブリックに公開すればブログにも

スティッキー型ブログ

 仮想デスクトップ上にさまざまな情報を張り付け、共有することでコミュニケーションするという国産のAjaxサービスです。「スティッキー」と呼ばれる気軽に張れる情報単位を作り出し、活用する点に特徴があります。

 まだアルファテストの段階ですが、頑張れ日本発のAjaxサービス!

画像が編集しやすいUIだ

その場で画像加工

 写真編集を行うAjaxアプリケーションです。上記リンクをクリックするだけで、即座に試すことができます。その場で画像加工ができる説得力は素晴らしいですね。ライセンスを購入することで、自分のサイトにこのサービスを設置することもできます。

 すぐ試せるエンターテインメント性の高さから紹介!

テストツール、SeleniumとXN

 最初のリンクに出てくるSeleniumとは、オープンソースのWebアプリケーション用テストツールです。ブラウザ操作を自動化して、Webアプリケーションの試験・検証を効率的に行うことができるとしています。また、さまざまなOSやブラウザで動作するといいます。

 Seleniumは、Selenium Core、Selenium IDE、Selenium RC(Remote Control)の3つで構成されます。Selenium Coreが本体、Selenium IDEはFirefoxのエクステンションで、テストを作成できます。

 そして、Selenium RCは、Webサイトに対してWebブラウザのUIテストを実行します。Java、.NET、Python、Rubyでテストケースを記述して自動実行できるといいます (参考: Selenium 0.7利用手順書(前編)) 。

 テストは開発の各段階で何回も繰り返し実行されるものであり、それを自動化できるか否かは品質の直結する問題といってよいでしょう。Seleniumという名前は覚えておく価値がありそうです。

 2番目のリンクは、JsUnitとは別の、XNと呼ばれる新しい単体テストのフレームワークの話題です。

 単体テストといえば最も有名なものはJUnitをはじめとするxUnitでしょう。xUnitは、さまざまな言語や環境向けの単体テストフレームワークの総称です。その中の1つである.NET Framework用のNUnitの紹介記事は、私も何回か書いています。

 実際に自前のプログラム開発でもNUnitを活用しています。高価過ぎて買えないVisual Studio 2005 Team Suiteに含まれるテスト機能ではなく、無料で利用できるNUnitとVisual StudioのプラグインであるTest Driven .NETを使って単体テストを行っていますが、十分に強力です。

 そういう意味で、xUnitの強力さと、それは有用であるという事実には個人的に太鼓判を押してもいいと考えます。そして、JsUnitとは、xUnitの一族の中でJavaScript用として作られたものなのです。

 しかし、XNはxUnitからかなり懸け離れた構造になっているように見えます。これでいいのでしょうか? 私はいいと思います。xUnitは、結局のところ、Java用のJUnitを元祖としたツールであり、個々の言語や環境の良さを生かそうとするなら、xUnitらしくない方向に進化するしかないのです。

 実際に、NUnitもJUnitとは似ていない形への進化を進めています。比較的Javaに似た構造の.NET Frameworkの世界ですらそうなのです。まして、Javaに似ていないJavaScriptの世界なら、より大きな飛躍が求められるでしょう。

 つまり、JavaScriptらしさを肯定的に生かすには、時代遅れで硬直的なJavaの呪縛(じゅばく)からは解放されるべきなのです。そのような意味で、これは面白い試みだと感じました。




古くて新しいAjaxの真実を見極める
「Webインターフェイスの新しい手法」「画期的なWebアプリケーションの仕組み」であるとして開発者たちの人気を集めるAjaxとは何なのか、その真実を見極めてみよう
最終更新 2005/8/2


HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間