jquery と html5

html5でスライドショーなどやっている。 webサイト、特に古い思想で作られたwebサイトのインターフェイスのまずさ、 javascript のすばらしさをわかってもらうには、 画像ビューアとかスライドショーを作らせてみるのが一番わかりやすいと思うのだ。 画像を次々に見てまわるのにいちいちページ遷移なんかしてられない。 アイコン並べたり、並べ替えたり、そういうことはまあ15年くらい前だといわゆるリッチコンテンツjavaアプレットとかflashでなきゃできなかったが、 いまやhtml標準のjavascriptでだいたいができてしまう。

しかし古い思想のwebサイトはいまだにページ遷移メインであったり、 ポップアップウィンドウを多用したり、 ただ単にアラート出すためだけに javascript 使ったり、 flash でがちがちに固めたコンテンツを作ったりしている。

で、スライドショーとかやらすと、ああページ遷移って馬鹿だな、 一つのページの中で何でもできるのって便利だよな、とかわかりよい。 これが伝票起案とかの業務だとピンとこないだろうしそもそも芸術学部というところではそんなのあまり流行らない。

それで html5やってみたのだが、明らかに jQuery の方が小回りがきく。 アニメーションを開始するタイミングで何をやるか、 アニメーションが終わったタイミングで何をやるか、 など、細かく記述できるのだ。

html5 だと .className でクラスの付け替えをする。 そのクラスの中に -webkit-transition でアニメーションの設定をするのだが、 ちと無理がある。

jquery だと .addClass とか .removeClass とかある。 .animate からコールバック関数を呼ぶ仕様も至れり尽くせり。 やはり、本格的なアニメーションとかトランジションjquery で記述すべきなのだ。 html5 でできるのは簡易的なものだけ。 webkit中心の独自仕様と考えた方がよいのかもしれん。

それに html5 では ajax はできない。 事実上 ajax ができるのは jquery しかない。 twitter api なんかも、まあ普通は jquery が用意している .ajax とか .get とか使うわけです。 そんでまあ、html5 をがっつりやるよという授業を一年生にやるよりは、 html をさらっとやり、canvas もすこしかじり、javascript って便利だよねというあたりをほのめかせながら、 2年次以降の jqueryjquery-ui の授業につなげていく、というのがやはり落としどころだと思う。

html5 の次に html.next ということを言っている人がいるようだ。 html5 がぱっとしないのにその延長線上に何をしようというのか。 むしろ、jquery とか coffeescript を中心にした標準化を進めりゃいいんじゃないのかと。