BlobBuilderインターフェースが非推奨となっていた

著者: 山岸和利
更新:

最近になって気がついたがBlobBuilderインターフェースが非推奨となっていた。Chronium 21.0.1180.75にてnew WebKitBlobBuilder()といった記述のあるスクリプトを実行すると「BlobBuilder is deprecated. Use “Blob” constructor instead.」といった表示がコンソールに出力されるようになっている。まだ現時点では使えはするようだがいつ使えないようになってしまうのかわからない。なのでつかうようにと表示されているようBlobはどういった仕様でどのようにつかえるものなのかを簡単に調べてみた。

File APIの仕様中にあるBlobインターフェースの項を見てみたところ

var blob = (function (blobBuilder) {
  blobBuilder.append('<!doctype html>\n')
  blobBuilder.append('<title>HTML DOCUMENT</title>\n')
  blobBuilder.append('<p>HTML HTML HTML!</p>\n')
  return blobBuilder.getBlob('text/html')
})(new WebKitBlobBuilder())

といったコードは

var blob = new Blob(
  [
    '<!doctype html>\n',
    '<title>HTML DOCUMENT</title>\n',
    '<p>HTML HTML HTML!</p>\n'
  ],
  { type: 'text/html' }
)

とおきかえられるようになっている。これまでの仕様と比べて簡素で簡潔とした直感的な記述ができるようになったのではないかとわたしの目には見える。

ただ変更された仕様もまだワーキングドラフトであるので今後どうなって行くのか判らない。BlobBuilderインターフェースの仕様は四月に、Blobインターフェースの仕様は七月にと変更になってからしばらく経てから気付いたのはあまりにも遅きに失してしまったように感じてしまう。少し前までは仕様の変更は密に追っていたというのに今はこのような体たらくではずかしい。万全の態勢で情報を得られるような仕組み作りを用意していきたい。