これからは電子書籍でもJavaScriptプログラミングができる
これから普及が予想される電子書籍や電子雑誌がインタラクティブになっていくことは間違いありません。映像が埋め込まれたニュース、好きな角度から洋服が見られるファッション雑誌、操作しながら解いていけるパズル、途中で登場するモンスターを倒さないとその先が読めないロールプレイング小説、なんていうのもあるかもしれませんね。
将来の電子書籍はアプリケーションと区別がつかなくなる、と僕は考えています。
先日ワーキングドラフトが公開された次世代電子書籍フォーマット「EPUB 3」では、JavaScriptが仕様の中に組み込まれる予定です。将来の電子書籍でのインタラクティブな実装はJavaScriptによって行われることになります。
HTML5/SVGで定義されたスクリプティングをサポート
昨年の12月22日にインプレスR&Dが創刊した電子出版をテーマにした電子雑誌「On Deck(オンデッキ)」の1月18日号には、EPUB 3の策定を進めているIDPF(International Digital Publishing Forum、国際電子出版フォーラム)のエグゼクティブディレクター ビル・マッコイ氏のインタビューが載っています。その中でマッコイ氏はEPUB 3でJavaScriptをサポートすると明言しています。
EPUB3ではJavaScriptをサポートし、コードとデータを分離してこの問題を解決します。クイズやパズルなど動的なコンテンツを作れるJavaScriptは非常に強力なツールですが、我々はそれだけでなくコンテンツの構造を維持するためにもJavaScriptを使います。
先週公開されたばかりのEPUB 3のワーキングドラフトには、「2.7 Scripting」の項にこう書いてあります。
EPUB strives to treat content declaratively — as data that can be manipulated, not programs that must be executed — but does support scripting as defined in HTML5 and SVG (refer to Scripted Content Documents [ContentDocs30] for more information).
EPUBはコンテンツを宣言的なものとして取り扱おうとしている、データとして操作可能であり、実行すべきプログラムではない、しかしHTML5とSVGの仕様で定義されているスクリプティングは明確にサポートする。
HTML5とSVGで定義されているスクリプティングとは、実質的にJavaScript(ECMAScript)のこと。ただし、次の文にはこうも書いてあります。
It is important to note, however, that scripting support is optional for Reading Systems and may be disabled for security reasons.
重要なこととして、スクリプティングのサポートはリーダーにとってオプションであり、セキュリティなどの理由でオフにしてもよい。
また、コンテンツ作者はポータビリティを重視すべきでありスクリプティングはユーザー体験の部分で使う程度がよい、ともあります。
EPUB 3と前バージョンEPUB 2との差異を記した「EPUB 3 Changes from EPUB 2.0.1」の「3.3.1 Scripting」には、以下のように書いてあります。
EPUB 3 Reading Systems may optionally support scripting, which was explicitly discouraged in EPUB 2.
EPUB 3リーダーはオプションとしてスクリプティングをサポートしてよい。これはEPUB 2では明確に落とされていたものだ。
つまり必ずしもすべてのEPUB 3対応リーダーでJavaScriptの動作が保証されているわけではないようです。
EPUB 3の仕様で指摘されているとおり、JavaScriptを多く使うコンテンツほど、限られたリーダーのみに対応するものになってしまうことは間違いありません。静的なコンテンツにどこまでスクリプトを使って動的に見せるか。これから登場するだろうさまざまなEPUB 3対応リーダーの実装状況を見つつ、コンテンツ作者側の試行錯誤がしばらくは続きそうです。
あわせて読みたい
VMwareのvCloudデータセンターを首都圏に設置、ソフトバンクテレコムとVMwareが提携
≪前の記事
「次世代Hadoopの開発に着手する」Yahoo!が宣言、数万台以上のクラスタをサポートへ