最新ブラウザに見る昨今のJavascript事情
先日、会社で勉強会を行いました。 私がモデレーターを仰せつかったので、最近ひたすら実装に使っているJavascriptについて調査。
下記の動画を元に、各ブラウザの新バージョンの比較と、昨今のJavascrip事情についてシェアしました。
前半では、各ブラウザの新バージョンについて比較しています。簡単に表にまとめてみます。↓
| リリース | 新機能 | |
| Firefox 3.1 | 2009年春 |
|
| Safari 4 | OS X 10.6 に合わせて |
|
| Internet Explorer 8 | 2009年初旬 |
|
| Opera 10 | 2009年予定 |
|
| Google Chrome | 2008年11月に1.0リリース |
|
注目すべきは、IE8 もタブごとのプロセス動作になる、ということでしょうか。 加えてFF3.1 とOpeara10で、ビデオ/オーディオタグがサポートされます。そうするとFlashで動画を見る必要もなくなるかもしれませんね。
Firefox 3.1では、オープンソースのオーディオコーデック「Ogg Vorbis」およびビデオコーデック「Ogg Theora」に対するネイティブサポートが追加される見通しだ。また、新版ではこのほかに「HTML5」がサポートされるもようで、これによりFirefox 3.1では音声および動画のhtmlタグが機能するようになる。
» 「Firefox 3.1」ベータ版リリースは8月19日を目標に–「HTML5」をサポート:ニュース – CNET Japan
注目の速さに関しては、以下のようなグラフで説明されていました。ちなみに3種類のツールで出した結果のひとつです。(見にくいですが、Chrome b1 > Safari 4.0 > Firefox 3.1 > Firefox 3.0.1 > Safari 3.1.2 > Opeara 9.5.2 > IE 8b2 > IE 7 となっています)

また、動画の後半では、新しく導入されるJavascriptの新機能(新関数)の紹介がされています。
| 特徴 | 対応ブラウザ | |
| postMessage | 別のiframeに対してメッセージを送れる。 | 全ブラウザ |
| Cross-Domain XHR | クロスドメインでも扱えるXMLHttpRequest | FF3.1/IE8 |
| Class Name | getElementByClassNameによるエレメントの取得 | Safari3.1/FF3.0/Opera9.6 |
| Selector API | document.querySelectorAll(”div p”)のようにエレメント取得を簡易化 | IE8/Safari4/FF3/Opera10 |
| Traversal API | エレメント間の移動の簡易化(.nextElementSiblingなど) | 全ブラウザ |
| HTML5 Dragging | HTML5のドラッグ&ドロップイベントをサポート | FF3.1 |
| Bounding | getBoundingClinetRectメソッドにより、エレメントの絶対位置を取得 | IE |
| Javascript Threads | Javascriptのスレッド化 |
特筆すべきはやはりJavascriptのスレッド化ですが、うちの社長いわく、「Javascriptをスレッド化したらDOMの処理とかめんどくさそうだよね」とのこと。ロックでもかけたりするのでしょうか。本動画の例でも、3D画像の描画を使っていて、DOMの扱いは触れられていませんでした。(もしかしたら口頭でしゃべってたかも)
とはいえ、Javascriptも日々進化しており、本格的にJavascriptを中心としたブラウザの開発が進んでいることが実感される動画でした。
ちなみに、スピーカーのJohn ResigさんはjQueryの作者としても有名みたいです。Mozilla でJavascriptのエバンジェリストとして働かれているようで、Javascriptのプロですね。

すると、提出言語が得意な人たちが課題にコメントをくれます!提出する際に、得意な人たちにお願い(自動でリストアップされます)メッセージを送ることもでき、すぐさまコメントを残してくれることもしばしば。もちろん私も日本語の課題をレビューすることが望ましいので、自分の課題提出時に、別の人の課題をレビューするようになっています。このように、お互いのレビューをかなりpushして行う仕組みになっています。
iKnowは去年から有名ですよね。CEOの方が、かなり個性的で印象的でしたw