Hatena::Groupweb

vantguarde

 | 

12.15

State of the Browsable Web (Dec 2008) ― WebAPIs

| 23:57

2008年12月現在の、WebAPIに関する状況をまとめときます。

ちなみにWebAPIはGoogleとかAmazonのWebサービスAPIのことではなく、DOMのインターフェースとかです。

JavaScriptとかDOMに明るくないので、今回は抜けとか誤認識とかが結構あるかも。

XMLHttpRequest Level 1

いまさらな感じのするXMLHttpRequestですが、標準化がWebApps WGで進められています。4月に2度目のLCになりましたが、その後もフィードバックを受けてアップデートされています。

現時点ですでに大量のdisposition of commentsがあるので、もう一度Last Callがきてもおかしくはなさそうです。

すでに実装されているものの標準化はいろいろ大変ということでしょうね。CSS 2.1にしろHTMLにしろ。

XMLHttpRequest Level 2, Access Control

Level 1もまだなのに、XMLHttpRequest Level 2が平行して進んでいます。クロスドメインで通信するために、XHRを拡張して対応します。これをやりたいのでLevel 1を作ってるんでしょうか。

XHR2は、Access Controlで定義されたヘッダーを解釈して処理を行います。Access Controlはcrossdomain.xmlのHTTP版みたいなものでしょうか。

実装状況はFirefox 3.1が先行している感じでしょうか。WebKitもたしかサポートしています。どちらの仕様にも未確定な部分があり、フルサポートには至っていません。Operaは調べてませんが、EditorがOperaの人間なので、動いてないってことはないでしょう。

IEについては、XDomainRequestなんていう独自オブジェクトを定義してます。ただ、WebApps WGでの話し合いでAccess-Controlについては、互換性を確保するようになったので、そこまで面倒なことにはならなさそうです。

Selectors API

「Selectors APIがLast Callへ」でも書きましたが、Selectors APIが2回目のLCになりました。Safari 3.1, Firefox 3.1, IE8, Opera 10が実装するというびっくりな仕様です。

今後ですが、仕様の曖昧な部分をつめてからCRに進み、テストケースの作成を行ってPR→RECになるはずです。うまくいけば来年中頃あたりでしょうか?

Element Traversal

WebApps WGからの最初の勧告は、Element Traversalになりそうです。PRが先月に出たので、うまくいけば今週末か来週頭に勧告されるかも。

これ、もともとSVG Tiny 1.2で定義されていたものなんですが、HTMLとかでも使えると便利だよねって事で分離されました。Opera 9.5、Safari 3.1ではすでに実装済み、Firefoxも3.1で実装される予定です。

で、「こいつの子要素」を表すプロパティが定義されていないのに疑問を持たれたりしています。childElementsは提案されたりしていたんですが、Appleが乗り気じゃないからとかそんな理由で仕様化されてません。ただどのブラウザーもchildrenなるプロパティを実装している(Fxは3.1から)ので、そんなに問題は無いかと思われます。

CSSOM

DOM2 CSSを置き換える目的で作られているのがCSSOMです。CSS WGの管轄ですが、こっちで紹介してみます。

紹介してみるとは言ったものの、進展がありません。いちおうCSSOM, CSSOM Viewが書かれてはいますが、先は長いかなあと。

Progress Events

XHRなどのデータ転送の経過をモニタリングするためのProgress Eventsなんてものもあります。Firefox 3.1で部分的にサポートされるようです。XHR2になるといろいろ楽しそうですね。

Web IDL

そんなWebAPIを定義するのに必要なのが、Web IDLです。定義されているIDLが、どのようにECMAScriptやJavaにマッピングされるかを定義しています。HTML5なんかでも使われてますね。

最後がてきとーになりすぎていますがこの辺で。

 | 
Contact: @vant / lepetitcroissant@gmail.com.