新機能の追加に向けて

さて、最近Webブラウザに付け加わっている新機能を見ているのですが、結構いろいろなものがありますね。

ローカルにデータを保持できる - Web Storage, Web DataBase

昔っから、JavaScriptを利用して訪問回数とかを残すのに、cookieっていうのが使われてました。
このcookieって、データが4KBまでしか保存できなかったので、
例えばぱずぷれv3の盤面データとか残せなかったのですが、もっと保存できるようにしたやつ。
 
まず、localStorageっていうのがあって、localStorage[hogehoge]って書いてデータとか保持できる。
保持できるのは文字列だけで多次元配列とか出来ないけど、総容量は仕様にはないっぽい。
ただし、こういったものには珍しくIE8が対応していて、そのサイズが1ドメインあたり10MBなので
事実上そのあたりが上限ですかね。他にもFirefox3.5, Safari4は対応していて、
旧仕様ではFirefox2.0, Firefox3.0でも使える感じ。
 
次に、旧称Web DataBase、新名称Web SQL DataBaseっていうのがあって、
これはSQLiteというデータベースソフト(or同じ動作をするやつ)を直接叩いてデータを保存するやつ。
これはSafariがSafari3から先取り対応してたのですが、特定のソフトに依存する状況が嫌がられてて
MicroSoftと特にMozillaが実装しねぇ、と言ってる感じ。
 
その中間あたりな仕組みとしてIndexed DataBase APIっていうのがあって、
これにMicrosoftOperaがノリノリっぽくて、Mozillaも実装しそうだけど、
まだ仕様書の内容が書き換わりまくってる状態だし、対応したブラウザが出来るのは当分先かなぁ。
 
何か今日W3Cのメールで「Microsoftの人だけど仕様文書案できたよ!」(by Microsoftの人)
Operaだって手伝ったぞゴルァ」(by Operaの人)ってMailが公開されてました。
いや、全部そういうのって公開されてるんだけど何か可笑しかったので。。

ローカルファイルの読み込みだってさ - File API

こういった内容はHTML5っていう新しい仕様の関連で、今も議論されたりしている内容で、
結構期待されていて記事とかも結構あったりします。HTML5APIは最近切り離されまくりだけど。
でも、そういうHTML5関連のAPI紹介の記事とかがあってもあまり紹介されていないような
マイナーな機能としてFile APIっていうのがあります。
 
ぼくも気づいたのつい最近だったんですが、
ユーザーがファイルボックスから入力したファイルの名称やサイズを取得できたり、
Firefoxではファイルの中身まで取得できちゃうんですよね。
旧仕様での実装がFirefox3.0以降、現在の仕様ではFirefox3.6beta4以降だけ対応しています。
 
つまり、Firefoxでは外部のcgiとかにアクセスしなくても「ファイルを開く」ことができる、というわけ。
これは僕にとってはけっこう嬉しい。まぁ、外部cgi介す実装を残すのは必要ですけど。
ただ、これは他のブラウザが将来対応するかどうかが不透明ですね。。
IEは将来やるかもしれない?という思わせぶりな態度をとっているらしいけど、、
 
で、ファイルを読み込めるなら書き込みはあるの?→ そりゃセキュリティ的にやばいだろ、、
と思っていたのですが実はまさにローカルファイルを書き込む
File Writer APIっていうのも作り始めてるみたいですね。今月仕様の原案出たばっかりですが。
これが出来たらファイルの読み書きに外部cgiのアクセスを介すのがいらなくなるのかも?
# でもうちのぱずぷれv3じゃなくて得する人いるのかなぁ。
 
ちなみにFile Writer APIはFile Readerと別の、デバイスAPIグループで議論されているみたい。
このデバイスAPIグループって最近出来たらしいのですが、Webカメラの入力画像をJavaScriptで処理したりとか、
テキストを入力したら音声が出力されるJavaScriptとか、なんかすごそうなことをやっていますね。。