(2005年10月28日更新情報:ajaxをめぐる環境は半年で大きく変わりました。こちらをご覧ください:ajaxの本質は「脱・紙芝居」)。
今日は、いまIT系ブログで話題のAjaxについて、(1)Ajaxエンジンどうするか
(2)Ajaxのビジネス戦略について
(3)Ajaxの仕事をしたいエンジニアを募集
という内容で。
Ajaxとは
→vas-animatum: javascriptによるRIAの構想:ajax
なお、Ajaxエンジンというのは、「Ajax: Web アプリケーション開発の新しいアプローチ(英語の原文)」という(現時点でのAjax経典)に何度も出てくる単語です。"Asynchronous JavaScript + XML" の略称。
以下、用語の確認。
〜〜〜〜〜〜〜
Ajax=方法論、アーキテクチャの名前。
Ajaxエンジン=ソフトウェア部品(コンポーネント)。HTTP XML-RPC非同期通信エンジン。
〜〜〜〜〜〜〜
という前提で。
Web業界におけるAjaxの位置づけ
JavaScriptですから、ソースが公開されている。必然的に競争他社に真似られてしまう。もちろん自分が他社を真似をするのも簡単。競争環境としてはオープンソース業界に近い。
そういう意味で、Ajaxエンジン自体は、技術的アドバンテージにならない。
もちろん、Ajaxエンジンを売る商売は成立しない。(一瞬、やろうかと考えてみたわけですが)
しかし、Ajaxという技術の能力(Ajax技術力)は、競争要因になる。
Google Mapsを自社で開発できるかどうか考えてみると良い。Ajaxを使ったアプリケーション(Webサイト)は技術力、企画力、クリエイティブの総力戦になる。Google Mapsの素晴らしい点はインタラクション(操作感)の良さ。
とりわけHTML+CGIのウェブサイトと比べたときに、リアルタイム・インタラクションの技術が必要になる。このスキルを持つ人材は、業界に一握りしかないのではないだろうか?
(RIAのコンセプトでFlashやってるエンジニアやデザイナやその中間の人達がいちばん有望だろう)
いまWebサイトを作る仕事をしている会社のうち、今年中にAjax対応できるのは一握りだろうと思う。ほとんどの会社は来年も無理だろう。
Ajaxエンジンの技術面
Ajaxエンジンを「エンジン」として切り出さない実装も考えられる。
・・・イマイチだと思う。ヘボい。
再利用可能な共通部品にしておくのが妥当な設計だろう。
Adaptive Pathの方がajax engineと名づけたのも、そういう意図だろう。
現状、みなさん個別にAjaxエンジンを作っている状態ですよね。オープンソースで欲しいな。
うちもAjaxやりたいので、とりあえずAjaxエンジンを作ってみます。
Ajaxエンジンの設計もけっこう大変だと思う。でも楽しそうだ。
ステートレス版→ステートフル版という開発順序。
HTTPの上に実装するので、レスのほうが簡単だ。
フルのほうは、ややこしい。汎用エンジンにしなければ簡単だけど。
というか、それより大変な部分があった。
AjaxエンジンのAPIとして、「アプリケーション・エンジン間(app-engine)」と「エンジン・サーバ間(engine-server)」がある。
Ajaxエンジン開発の難易度
┌────┬──┬───┐
│通信対象│同期│非同期│
├────┼──┼───┤
│アプリ │簡単│激ムズ│
├────┼──┼───┤
│サーバ │簡単│難しい│
└────┴──┴───┘
Google Mapsは難しいほうの組み合わせと思われる。アプリ間もサーバ間も非同期のような動作なので。
いやはや、分析するほど、すごいものに思えてきた。
これがなぜ難しいか分からない人は、IMAP4対応メーラを実装することを考えてみるといいです。実際、IMAP4では落ちまくるメーラのほうが多いです。数千円払った某メーラも某メーラもすぐハングしやがりました。
単にイベントドリブンなだけではなく、タイムアウト待ちがある。これがやっかいだ。スレッドプログラミングのとくに面倒な部分。いやな汗が出る仕事。
とはいえエンジンは作らないとね〜・・・
Google Mapsを大いに参考にさせてもらいます。
ところで非同期の場合は、たとえエンジンが優秀でも、アプリ開発は大変。これは仕方ない。
そしてシステム開発よりもデザインのほうが、もっと大変。
Ajax: Web アプリケーション開発の新しいアプローチだからこそ上述のように技術的優位性になるんだよねー。
Ajax アプリケーションを創造することにおけるもっとも大きな挑戦は、技術的なものではない。Ajax の核となる技術は成熟・安定しているし、よく知られたものだ。むしろ、そのチャレンジはそれらアプリケーションのデザイナにとってのものである。Web の限界について我々が知っていると思っていることを忘れ去ること。そして、もっと広く、豊かな可能性に思いを馳せること。
それはきっと楽しいことだろう。
引用:http://antipop.zapto.org/docs/translations/ajax.htmlより(リンク切れ)
(デザイン技術力の点で)
考えていくと(またビジネスの話になりますが)いまMacromediaがFlashでやってるビジネスと比較するといろいろヒントが。Flash業界とAjax業界では、構成要素が似ているのだが、プロプライエタリかどうかという点が異なるために景色が違ってくると思われる。
Macromediaのやってること
・ビュワー無料配布&ブラウザバンドルで普及させる
・開発ツール、制作ツールを売る
・サーバサイドのソフトウェアを売る
・セミナーやサポートを売る
・資格ビジネスの元締めで受験料や教材費を稼ぐ
もともとGIFやJPEGというオープン仕様のデータ出力する開発ツール(とあえて呼ぶ)を作っていたマクロメディア。自社開発した仕様をデファクト・スタンダードにするほうが儲かることに気づいてFlash Playerというソフトを無料で、むしろ大金つかって普及させた、ということなんでしょうね。
「ザ・プロフィット」(←名著)のデファクト・スタンダート利益モデルを地でいってるなあ。
インテルやマイクロソフトとは、自社開発の独自規格のビュワーを無料配布した点が違う。「独自規格のデータを利用するためのソフト」を万人が必要なレベルまで普及させて、その関連ソフトを売って稼ぐ。Excelってすごい人数が使っていて、みんな買ってますよね。興味深いです。
そういえば、マイクロソフトはPowerPoint,Word,Excelビュワーって提供してましたっけ?(素朴な疑問)
→追加情報
ありました。つかささん、ジャンクさん、ありがとうございます。
■Powerpoint Viewer
■Word Viewer
■Excel Viewer
■Visio Viewer
■一太郎ビューア
Adaptive PathさんがAjax業界でどのポジションを狙っているのか知りたいなー
Ajax人材募集
Ajaxの仕事をしたいエンジニアの人いませんか?
Ajaxのリードカンパニーを目指してがんばりますよ!(笑
いますぐはちょっと・・・(会社もあるし)といった方でも構いませんので、まずは(忘れないうちに)コンタクトしておいて頂ければ幸いです。
画面左からメールニュース登録も出来ます。
求人情報ページ作ったり、応募フォームを作ったりしたらお知らせします。
興味を持って頂けた方には、今後、弊社からお仕事についてご相談させて頂くかもしれません。
また、入社を検討してみたい方は、ざっくばらんに(選考という形ではなく)会社説明をしますので、お気軽にご連絡ください。
以上。
随時フォロー記事を追加していきます。
参考:
たぶんここから話題に
→Ajax - Async Javascript with XmlHttpRequest: blog.bulknews.net
ブックマーク的に
→アーキテクトブログ: 最近流行のAjaxメモ
この人すご杉
→最速インターフェース研究会 :: Ajaxについて、あとファイラーを作ってみた
この人いろいろすごい
→[を] Ajax を目指し XMLHttpRequest をいじってみる
デザインにおけるAjaxの意味とか
→人机交互論: Ajaxによるシームレスなユーザ体験の構築
トラックバック
Ajax - IburiTimesより、 Ajax: Web アプリケーション開発の新しいアプローチ Ajax (Asynchronous JAvascript + Xml ) アジャッーークス!(でいいのかな?) なんか必殺技の名前みたいで格好いいな。 説明にあるFlickrは、編集画面がそんな感・・・
Nega Diary | 2005年2月26日2時23分
ajaxで早速アドワーズ広告出してる会社ハケーン。 なかなか志高いじゃないですか。応援しまっせ。 すぐに手伝えそうにないけどブックマークっと。
一生遊んで暮らしたい | 2005年3月3日19時36分
goole maps を実験的にflashで読み込んでみました。時間があったら...
fladdict.net blog-jp | 2005年3月26日1時37分
これはゼロベース代表石橋秀仁によるブログです。サービス精神が過剰なので、極論をぶっていることがありますが、このブログだけで判断せず、会って対話したうえで判断いただければ幸いです。わりと物事の両面を見るほうなので、極論を書いておきながら、真逆の意見にも理解を示します。

コメント
PHPやPerlCGIのWebアプリプログラマーにとってはとんでもない超えられない壁のような気がしますが。
Ajax>Java Applet>FlashAS>>>(超えられない壁)>>>JSP>Perl>PHP
(冗談)
記事、参考にさせていただきました。ありがとうございます。
ここに MS Office な製品のビューワがダウンロードできますね。
Office 製品のダウンロードページ
Googleのスポンサー欄は普段は無視するのだが
「Ajax人材募集」クリックしてもうた。
MSサイドなプログラマである私にとっては
Ajaxのサーバ側の仕組みをどうするか悩むところ。
ASP.NETいらないじゃんっ
あとIE限定のJavaScript関数(JScript?)を忘れること...
また覗きに来ます。
おいは未だテキストエディターでやってまふけど
で、Ajaxには関係ないですが。
■Powerpoint Viewer
http://www.microsoft.com/...
■Word Viewer
http://www.microsoft.com/...
■Excel Viewer
http://www.microsoft.com/...
■Visio Viewer
http://www.microsoft.com/...
■一太郎ビューア
https://www.ichitaro.com/...
です。
あべしさん、開発ツールは我々も欲しています。あるいは作ろうかとも。
やまもさん、連絡先を残して頂けると幸いです :-)
もし興味あればRSSかメールニュース登録しておいてください。
せっかく見てくれる人が多くなってきているので、
求人情報や応募フォームなども作ろうかと思っています。
いろいろ調べて行くうちにここにたどり着きました。
Ajax面白そうですね。
今までにもWeb関連でいろいろ実験
(FlashAS+JavaScript+ActiveX+XML-RPCなどの組み合わせ)
をしていたので、
興味津々です。
参考になりました。
ありがとうございました。
Flash ActionScriptのloadVarsやloadXML(でしたっけ)
と非常に近い感覚だと思います。
Flashよりはプログラミング環境が整っていないので、
開発は大変ですね。
開発環境やデバッグ手法なども調査しているところです。
仕事でリッチクライアント(Bizとかcurlとか)やってるけど
Ajax知ってからはそれらが旧態依然のものに見えてきた…
Flashも絡めて今後の動きは注目だなぁ
Google AdSense をクリックしてきました^^
Ajaxはとても気になる技術です。
自分も今、勉強してますが開発ツールがほしい・・・
→
https://swato.dev.java.net/
IMAP ... 確かに大変でした。ユーザーからは定期チェックを設定しているのに新着メールが確認出来ない等と苦情が相次いでいました。
プロトコールの仕様だから ... と逃げていましたが。
サーヴァー側で定期的にチェック出来ても、それをクライアントにプッシュする術がないのでカスタマイズのしようもありませんでしたね。
う〜ん、今後はどのような使われ方をされるのでしょう。
とても楽しみです。
早速、サンプルを作成してみました。
http://aspnet.friendlysw.com
Ajax、確かに面白いです。
こちらでAlatasのデモ見れます↓
http://www.nikhilk.net/Prototypes/PhotoMap/
どんどん新しいものが出てきていますね。