HTML5とは? (にわか知識)

注:いつもにまして知識の信憑性が薄いためここにある内容を鵜呑みにしてはいけない。
今回の内容はそもそも書いてる本人がわかっていないことばかりである。

Twitterにてリツイートされてきたリンク先の内容が興味深かった。
一見すると普通の漫画かなと思ってスクロールすると途中で簡単なアニメーションが仕込んであるのだ。しかもそれがホラーなものだから意表をつかれて思わず驚かされてしまうという、一昔前のFLASHホラーを彷彿とさせるネタだ。それもアニメーションの指定が漫画の横幅以上に広くとられているものだから、まるで画面の中からこちらへ飛び出てきそうな雰囲気を感じさせるという憎い演出までなされている。技術的にはそう難しくなさそうだとは最初は感じたが、よくよく考えてみるとそうでもない。

まず漫画の中に仕込まれているという部分が問題だ。普通に漫画を読んでいる気分でスクロールすると……というギミックは、FLASHなどではありえなかった。スクロール後の画面描写範囲を判定して、アニメーションを開始する。ただこれだけのことが、通常のサイトの中に組み込まれているというだけでなぜだか斬新な気分になってくる。また、この漫画には衝撃音のようなSEの音声もついてきた。アニメーションが動ききったら鳴るように設定されている。こちらはまぁ、大したことないだろう。やはりノータイムでアニメーションが始まる点が問題だ。まるで自分のパソコンがどうにかなってしまったかのような錯覚を抱かせるこのスムーズさ、自然さ。FLASHではこのようにユーザーの動きを制限することなく(ないかのようにみせつつ)ギミックを動かすというのはなかなか難しいだろう。

ちなみにそのリンクがこちら。(ホラー注意。そのまま下にスクロール)
http://comic.naver.com/webtoon/detail.nhn?titleId=350217&no=20

あまりにも気になったので、HTMLの知識など一切無いにも関わらずこのページのソースまで確認ししてしまった。中身はさっぱりわからなかったが、アニメーションの近くにJavaScriptの文字があった。そうか、今やサイト内で何かギミックを動かす時にはFLASHではなくJavaScriptを使うのか、と少し勉強になった。

もののついでとしてHTMLとJavaScriptをちょっと調べてみようかとググったところ、HTML5について軽く触れているサイトを見つけた。そのサイトによると、今までのようなFLASHとはAdobeによって提供されている技術らしく、実はオープンソース化されていないとのこと。そういえば以前読んだ「使い分けるパソコン術」でちらっと触れられていた。それによると、iPhoneiPadの不便さの一つにネットサーフィンがしづらい、FLASHが再生されない、などの理由がある、とか。どうもApple社ではオープンソース化されていないFLASHをあまり認めていないらしく、ブラウザのプラグイン(?)に採用していないものらしい。またそうでなくともFLASHはパソコン上でしか動かないアプリケーションであるというのは確かだろう。よく会社のサイトやバンドアーティストのサイトがごてごてとFLASHでできているのをみるが、ああいったものがスマホPDAなどパソコン以外の機器で動くとは思えない。
FLASHを使ったサイトがある以上、そういった親和性のない環境ではやはりネットサーフィンがしづらい。そこで、使う道具を高性能化してFLASHに対応させるのではなく、そもそも技術自体を変えてしまおうという動きがあるらしい。(Appleについては技術哲学とか方針的なもののため少し事情が違うが)
それがJavaScriptであり、HTML5、ということだ。

さらに説明を重ねると、HTML5というのは要するに規格、ルールみたいなものだ。プラットフォームというのが正しいのだろうけれど、僕自身がプラットフォームという単語を本質的に理解してないのでちょっと避けておく。
HTML5は具体的には「HTML・CSSJavaScript」で構成することができる。「ドキュメント構成(ウェブサイト上での組版)」と「レイアウトスタイルや飾り」と「アニメーション」の三要素をそれぞれ3つの技術に分割して扱うということだ。HTMLやCSSは以前から広く採用されていたためなんの変化もないが、最後のウェブアプリケーション部分が変更される。ここはアニメーションなどといったネット上で動くアプリケーション部分を扱う分野だ。(今までFLASHなどが使われていた)
JavaScriptの真価が発揮されるとこういったことができる。
http://webglsamples.googlecode.com/hg/aquarium/aquarium.html
これこそJavaScriptに代表されるウェブプログラミングと呼ばれる技術の実力を遺憾なく発揮している好例だろう。これを初めて見た時の衝撃が、この投稿を書くきっかけとなった。

結論:JavaScriptすごい。



と、JavaScriptで動くアニメを賛美しまくる内容で書いてきたが、実際この話自体そう新しいものではなく、僕が知らないだけで前々から進んでいた動きでもあるようだ。Wikipediaによれば2008年1月似(4年前!)草案が発表され、2014年までの正式勧告(?)とされている。つまりむしろ既に浸透、円熟期といっていいほどだろう。では次なるHTML6はどうなのか? と軽くググッてみたが、情報がほとんどない。HTML5が円熟期に入ったというのは勘違いだったか?


追記
ubuntuで文章を書くときに変換があまりにもひどかったので日本語入力をMozcに変えてみた。しかし辞書登録の仕方がわからなかったためググったところ、端末からプロパティを起動しなければならないという面倒なハメになった。Windowsのようにタスクバーからは日本語入力のプロパティを開けないのだろうか。手元の雑誌(Ubuntu agazine Vol.06)では平然とiBusの設定からMozcプロパティへと移動しているのだが……
それとその時の副産物として「半角/全角を切り替え Ctrl+Space」「全角入力中に半角スペース Shift+Space」を知った。今まで知らなかったのが悔やまれるほど便利だ。前者はEmacsでソースを書いているときに(特にコメント文が嫌で嫌でたまらなかった)、後者はインターネットで複数ワード検索をかけるときに、便利さを痛感することだろう。