micro* (3):microapplications
本編「micro* (3):microapplications」のコピー。
出かける準備で早起きしました。あわただしいので中途半端な記述ですが、micro*シリーズその3(の断片)を投稿してから出発します。
マイクロアプリケーション(microapplication)とは、とりあえずはマイクロ文書を扱うプログラムだと定義できます。しかし、OS上で直接動くネイティブアプリケーションやサーバサイドWebアプリケーションではなくて、ブラウザー上(クライアントサイド)で動作するJavaScriptプログラムです。
マイクロアプリケーションのソフトウェアとしての特徴は:
- 実行環境:Webブラウザ
- 実装言語:JavaScript
- 画面表示:ブラウザのHTMLレンダリング機能を使う
- イベント:ブラウザが生成するイベントをJavaScriptのハンドラーで処理
- データ入出力:文書の一部をデータとみなすか、XMLHttpによるリモートIO
Ajaxにより再発見・再認識されたXMLHttpコンポネントは、マイクロアプリケーションに対して、ブラウザの外とのIO手段を与えます。その他は、特に目新しいことはありませんが、マイクロアプリケーションは次のような意図を持っています。
- マイクロ文書に対する対話的フロントエンドを提供する。したがって、広義の(microformats.orgで策定されたものにかぎらない)マイクロフォーマットに関係する。
- お手軽さを失わない範囲で、再利用/共有可能性、相互運用性を意識する。
- (上の項の一部だが)できるならば表示先が何であるか(bodyかdivか、windowかframeかiframeかなど)に独立な作りにする。
- これらの目的のために、“あるコンベンション”に従う。
広義のマイクロフォーマットで記述されたマイクロ文書というデータに、マイクロアプリケーションが対話的振る舞いを与える、という構図です。
問題は、「あるコンベンション」がどうあるべきか/どう決めるか、ですが、それを今後提案できればと思っています。いずれにしても、microなコンベンションですから、最小限の規則集であり、非制限的なものです。コンベンションに沿ったマイクロアプリケーションをサポートするフレームワークがあれば便利でしょうが、フレームワーク必須にすると制限的になってしまうので好ましくありません。
もっと詳しいことは、またいずれ。