« MarcomediaがECLIPSEファウンデーションに加盟 | main | もしもマックにインテルのロゴがついたら・・・ »

2005年06月07日

コンポーネント指向Ajaxの世界

最近、通常のAjaxの先の世界として、「コンポーネント指向Ajax」とでも言うべきものを夢想している。

JavaScript で音を制御してみたよで実験をしたように、小型のJava AppletやFlashコンテンツを、Ajax(JavaScript)の拡張コンポーネントと見立てて使用する、という考え方だ。

ミュージックプレイヤーや、ビデオプレイヤーといった特定の機能に特化したfashコンポーネントを、JavaScriptから制御されることによって、従来のAjax観を大きく覆すようなコンテンツが比較的安価かつ高速に設計できる、と考えている。








この手法により、例えば入力フォーム内にスライダーメニューを設ける、といったことが可能になる。flashで作られた、スライダーコンポーネントは値の変化にしたがって、随時HTML上のhiddun属性のパラメータを更新する(注:サンプルではそこまでやっていない)。JavaScriptはFlashの内部を意識することなく、その機能だけを行使できる。Google Mapsのズームや、Amazon.com Diamond SearchのようなUIが、ほんの数行のコードで実装できる。







あるいは、2次元マッピング用の入力インターフェースなどの、ブラウザがまったくサポートしない文脈のUIも簡単に導入できる。このような、UIを用いればアンケートやコンテンツの重み付け、といった分野のナビゲーションは大きく進化する。従来はこれらのUIは、JavaScriptで行うには複雑すぎ、かといってフルFlashのコンテンツを構築する価値もないと、省みられなかった分野である。

基本UIだけでなく、音楽プレイヤー、マップ、カラーピッカー、カレンダー、ツリービューワー・・・
「コンポーネント指向Ajax」による、可能性は無限に存在する。

そもそもAjaxにおけるJavaScriptは、HTML、CSS、ブラウザ、サーバーサイドデータといった各技術を相互接続する為の、グルー(接着剤)にすぎない。ならば、JavaであれFlashであれ、JavaScriptから制御することさえできれば、それはAjaxの構成要素と成りえると考えるのが自然だろう。

Ajax構成要素の外部コンポーネント化は、それをコンパイル済クラスとみなすことでもう1つのメリットも齎す。それはパッケージ化が難しいJavaScriptにおいて、機能を強制的にオブジェクト単位で分離隠蔽できるとうことだ。

従来の「AjaxかFlashか?」といった議論は、Ajaxという新しい概念の輪郭を明確にする、という一点においては有効だ。しかし、この二者択一論は土台となる「FlashコンテンツとAjaxは相互に独立している」という前提が存在しないということを、常に意識して用いなければならない。そうでなければ、自らAjaxやFlashの可能性を潰してしまうことになる。両者は背反したり、競合したりする一方で、同時にシナジーを生み出せるものだとも考えている。ActionScript使いとJavaScript使いの、相互のノウハウを共有させることで、まったく新しい「何か」を創造できるのではないだろうか?

とか、インターネットの辺境で適当に考えてみました。

see also:
コンポーネント指向Ajaxのサンプル カラーピッカー

投稿者 Taka : 2005年06月07日 16:39

book

dotfla.gif

bookmark

はてなブックマークに追加

del.icio.usに追加

trackbacks

this entry's trackback URL:
http://www.fladdict.net/cgi-bin/mt3/mt-tb.cgi/203

このリストは、次のエントリーを参照しています: コンポーネント指向Ajaxの世界:

» 【Ajax】コンポーネント指向Ajaxの世界 from JavaScript++かも日記
6月のブログなんですけれど、読み返したらグッときたので、文言を再メモ。 http://www.fladdict.net/blog-jp/archives/200... [read more]

トラックバック時刻: 2005年10月31日 15:13

» Subject: 新規インターネット事業を企画してそうなみなさま from Elementary, ...
(社内のMLに流した内容なのですが、評判良かったのでそのままエントリにしてみました) 昨日帰り道、2006年の「ウェブサービス」について考えてみました。 なんと... [read more]

トラックバック時刻: 2006年01月18日 13:26

» Memory Foam Mattress from Memory Foam Mattress
Memory Foam Mattress [read more]

トラックバック時刻: 2006年02月20日 09:07

» Retirement Planning from Retirement Planning
Retirement Planning [read more]

トラックバック時刻: 2006年02月20日 23:52

» IRS from IRS
IRS [read more]

トラックバック時刻: 2006年02月23日 16:14

» Beauty from Beauty
Beauty [read more]

トラックバック時刻: 2006年02月24日 06:18

» Glow Stick from Glow Stick
Glow Stick [read more]

トラックバック時刻: 2006年02月24日 14:15

» real estate investing from real estate investing
real estate investing [read more]

トラックバック時刻: 2006年02月26日 00:44

» color contacts from colorcontacts
color contacts [read more]

トラックバック時刻: 2006年02月27日 02:25

» california health insurance quote from california health insurance quote
Entry on should california health insur... [read more]

トラックバック時刻: 2006年03月13日 06:59

» basketballhoop from basketballhoop
basketballhoop [read more]

トラックバック時刻: 2006年03月30日 15:01

comment

うわ~~~。
「それ思いつかなかった!!!」って感じです。面白いですね。

by kakeru : 2005年06月07日 18:06

ちょっとサンプル作ってみたのですが、こんな感じの作り方でエントリーの内容と合ってるのかなぁ...。
SWFのソースをはき出す前に、changeHandlerを設定出来るといいのかな~と
なんとなく思って作ってみました。

実装方法をガイドライン化できれば「JavaScriptしか分からない人」でも
利用できるようになるかな~なんて思いました。

http://xiang.jp/study/050607/
(JavaScriptはwindow.open()ぐらいしか使わないのでコーディングはてきとーです)

by kakeru : 2005年06月07日 19:35

> JavaScriptから制御することさえできれば、それはAjaxの構成要素と成りえる

Life is beautiful: Ajaxの本質、「非同期メッセージ型ウェブ・アプリケーション」のススメ
http://satoshi.blogs.com/life/2005/06/ajax.html

によれば、より本質的な部分ではJavaScriptですら別のものでも良いみたいです。

でも、AjaxにFlashのUIコンポーネントを組み合わせて使うのは良さそうですね。とても面白いです。

by よしみかん : 2005年06月08日 07:13

>kakeruさん
はじめまして。
対応むっちゃ早いっすね!

そうそうサンプルみたいな感じです。まずSWFを埋め込むJSコード作って、そこからfashvarsで値を埋め込んでやると、簡単にswfが埋め込めますよね。flashに渡す場合は、ハンドラ名でもいいし、DOMのノードにバリューを埋め込んでJavaScriptで拾う(flash varsの逆?)でもやりやすいかなーと思ってます。

>より本質的な部分ではJavaScriptですら別のものでも良い
そうですね、僕もそう思います。いまはただAjaxという言葉が定着しすぎちゃった感があるので、独自のajax論をいうとゴッチャになっちゃうかなぁ、と思って、JSに特化したときだけAjax、それ以外では非同期通信アプリって使ってます。

またなんかサンプル作るので、よかったら弄ってみてくださいませー。

by Taka : 2005年06月08日 17:37

コメントしてください




保存しますか?