firefox & html5

78
Firefox & HTML5 Presentation @ OSC 2010 Tokyo/Spring by Tomoya Asai (aka. dynamis)

Upload: dynamis-

Post on 20-Jan-2015

7.642 views

Category:

Technology


1 download

DESCRIPTION

201002 OSC Tokyo/Spring でのプレゼン資料

TRANSCRIPT

Page 1: Firefox & HTML5

Firefox & HTML5Presentation @ OSC 2010 Tokyo/Spring

by Tomoya Asai (aka. dynamis)

Page 2: Firefox & HTML5

about:me

浅井 智也 = dynamis (でゅなみす)

Mozilla Japan テクニカルマーケティング

Mozilla Product & Technology Evangelist

slides: http://r.dynamis.jp/presen

mail: dynamis mozilla-japan.org

twitter: @dynamitter

@

Page 3: Firefox & HTML5

Firefox & HTML5

Web Design

Web Applications

Yet Another Platform

Agenda:

Page 4: Firefox & HTML5

StatisticsBrowser Share

Page 5: Firefox & HTML5
Page 6: Firefox & HTML5

2002/01

2009/07

Browser MarketShare Graph by AXIIShttp://www.axiis.org/examples/BrowserMarketShare.html

Page 7: Firefox & HTML5

Browser MarketShare Graph by AXIIShttp://www.axiis.org/examples/BrowserMarketShare.html

Page 8: Firefox & HTML5

Opera2%

Safari4%

Chrome5%

Firefox25% Internet Explorer

63%

世界のブラウザシェア (2009/12)

Page 9: Firefox & HTML5

Opera2%

Safari4%

Chrome5%

Firefox25% Internet Explorer

63%

世界のブラウザシェア (2009/12)

Browser MarketShare Data by NetApplicationshttp://marketshare.hitslink.com/

Page 10: Firefox & HTML5

Firefox & HTML5Browser Platform

Page 11: Firefox & HTML5

2004

Page 12: Firefox & HTML5

Web 2.0

Google Suggest

Google Maps

Gmail

Page 13: Firefox & HTML5

Firefox 1.0

ブラウザ業界に再び競争を

シンプルで高速なブラウザ

Web 標準準拠を推進

Page 14: Firefox & HTML5

Browser = Web Viewer

Page 15: Firefox & HTML5

Browser = Web Platform

Page 16: Firefox & HTML5

But...

ブラウザ間の互換性...

不安定、低機能、低速...

XHTML 2.0 なども普及せず...

Page 17: Firefox & HTML5

5 years later...

Page 18: Firefox & HTML5

HTML5

次世代 Web 標準

Web Application 1.0

CSS3 など関連仕様も

Page 19: Firefox & HTML5

Browsers

Safari, Chrome, Firefox ...

Web 標準を共にサポート

安定性、機能、速度も改善

Page 20: Firefox & HTML5

ApplicationsDesktop

Page 21: Firefox & HTML5

ApplicationsWeb

Page 22: Firefox & HTML5

Web DesignCSS, Image, Fonts...

Page 23: Firefox & HTML5

text-shadow

Firefox3.5̃ http://hacks.mozilla.org/2009/06/text-shadow-spotlight/

Page 24: Firefox & HTML5

text-shadow

Firefox3.5̃ https://developer.mozilla.org/ja/CSS/Text-shadow

要素のテキストと text-decoration に影を付ける

text-shadow: black 2px 2px 5px;

影の色、水平距離、垂直距離、ぼかし半径を指定

複数の影を列挙指定することも可能

text-shadow: black 0 0 4px, red 2px 2px 4px;

下線などに対しても影がつく

同様にボックス要素には box-shadow

box-shadow はまだ仕様が Draft なので注意

Page 25: Firefox & HTML5

http://www.zachstronaut.com/lab/text-shadow-box/text-shadow-box.html

window.onload = function () { document.getElementById('text-shadow-box').onmousemove = onMouseMove; text = document.getElementById('tsb-text'); spot = document.getElementById('tsb-spot');}function onMouseMove(e) { // マウスポインタの中心からの距離に応じて影の位置を変更 var xm = e.clientX - 300, ym = e.clientY - 175; var d = Math.sqrt(xm*xm + ym*ym); text.style.textShadow = -xm + 'px ' + -ym + 'px ' + (d / 5 + 10) + 'px black'; // 中心だけ透明な画像をマウスポインタの位置に表示 xm = e.clientX - 600, ym = e.clientY - 450; spot.style.backgroundPosition = xm + 'px ' + ym + 'px';}

Page 26: Firefox & HTML5

CSS Gradients

Firefox3.6̃ http://hacks.mozilla.org/2009/06/text-shadow-spotlight/

Page 27: Firefox & HTML5

CSS Gradients

線形 (linear) と放射状 (radial) の2種類

linear-gradient(top, black 0%, white 100%)

radial-gradient(circle, yellow, green)

繰り返し形式もサポート

repeating-linear-gradient(red 10px, blue 10px)

CSS3 Images で画像の一種として定義

Draft なので -webkit-, -moz- prefix が必要

Firefox 3.6 では background に対してのみ

WebKit の構文は古い仕様のものなので注意

Firefox3.6̃ http://dev.w3.org/csswg/css3-images/#gradients-

Page 28: Firefox & HTML5

http://people.mozilla.org/~blizzard/2009-11-gradient-button/sample.html

<style>.gradationbutton { display: block; /* a タグをボックス要素に */ font: bold 138.5% Helvetica,Arial,sans-serif; text-align: center; text-decoration: none; /* リンクの下線解除 */ color: #ffffff; /* 白抜き文字 */ text-shadow: -1px -1px 2px #777777; /* エンボス */

padding: 10px; border: 1px solid #659635; -moz-border-radius: 10px; /* 角を丸める */ background: #99ca28; /* 非サポートブラウザ向けのフォールバック */ background: -moz-linear-gradient(top, #CFE782 0%, #9BCB2A 2%, #5DA331 97%, #659635 100%);}.info { font-size: 81%; font-weight: normal;}</style><p style="width: 300px;"> <a class="gradationbutton" href="http://hacks.mozilla.org"> <span>hacks.mozilla.org</span><br/> <span class="info">HTML5 の最新情報はこちら!</span> </a></p>

Page 29: Firefox & HTML5

Multiple Backgrounds

Firefox3.6̃ http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/

Page 30: Firefox & HTML5

Multiple Backgrounds

background に複数の画像を指定可能に

background: <image1>, <image2>, <image3>...

CSS3 Images の gradation も組み合わせ可能

半透明なグラデーションでフェード効果も

画像の数、ファイルサイズ削減にも繋がる

Firefox 3.6 以降でサポート

WebKit は未サポートなので注意

Firefox3.6̃ https://developer.mozilla.org/ja/Using_gradients

Page 31: Firefox & HTML5

http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/

<style>.fadedflower { background: /* 左が白、右が無色透明となるグラデーション */ -moz-linear-gradient(right, rgba(255,255,255,0), rgba(255,255,255,1)), /* その後ろに表示する画像 */ url(flowers-pattern.jpg);}</style>

<div class="fadedflower"> <!-- グラデーション背景画像つき要素 --></div>

Page 32: Firefox & HTML5

Web Fonts

Firefox3.5̃ http://www.alistapart.com/articles/cssatten

Page 33: Firefox & HTML5

Web Fonts

CSS3 Web Fonts

@font-face でダウンロードフォントを定義

@font-face { font-family: Koburina; src url(Koburina.woff) format("woff"); }

Firefox 3.5 で OpenType, TrueType をサポート

Firefox 3.6 からは WOFF もサポート

Web Open Font Format

フォントベンダと共に作った新フォント形式

グリフ部分のデータは圧縮して小さく

Firefox3.5̃ https://developer.mozilla.org/ja/CSS/@font-face

Page 34: Firefox & HTML5

sample css style rules

/* Internet Explorer 用フォント設定 (必ず最初に) */@font-face { font-family: Sawarabi; src: url(Sawarabi.eot) /* format() 非サポート */;}/* 他のブラウザ向けフォント設定 */@font-face { font-family: Sawarabi; src: url(Sawarabi.otf) format("opentype");}/* Firefox 3.6 以降には WOFF を */@font-face { font-family: Sawarabi; src: url(Sawarabi.woff) format("woff");}body { font-family: Sawarabi, sans-serif; }

Firefox3.5̃ http://hacks.mozilla.org/2009/06/beautiful-fonts-with-font-face/

Page 35: Firefox & HTML5

CSS Transitions

Firefox.next̃ http://24ways.org/2009/going-nuts-with-css-transitions

Page 36: Firefox & HTML5

CSS Transitions

Firefox.next̃ http://24ways.org/2009/going-nuts-with-css-transitions

CSS3 Transitions

transition: all 0.5s ease-in;

transition: color 1s linear, width 1s ease-in;

Draft なので -webkit-, -moz- prefix が必要

一部プロパティの変化をなめらかにする

動的擬似クラスや JavaScirpt 書き換え時に

位置、サイズ、カラー、シャドウなどが対象

変化の時間や速度なども制御可能

linear, ease, ease-in, ease-out など

Page 37: Firefox & HTML5

http://media.24ways.org/2009/14/5/index.htmla.polaroid { /* ... font-size とか省略 ... */ z-index: 2; -webkit-box-shadow: 2px 2px 4px rgba(0,0, 0, 0.3); -moz-box-shadow: 2px 2px 4px rgba(0,0, 0, 0.3); box-shadow: 2px 2px 4px rgba(0,0, 0, 0.3); -webkit-transition: all 0.5s ease-in; -moz-transition: all 0.5s ease-in; transition: all 0.5s ease-in;}a.polaroid:hover,a.polaroid:focus,a.polaroid:active { z-index: 999; border-color: #6A6A6A; -webkit-box-shadow: 15px 15px 20px rgba(0,0, 0, 0.4); -moz-box-shadow: 15px 15px 20px rgba(0,0, 0, 0.4); box-shadow: 15px 15px 20px rgba(0,0, 0, 0.4); -webkit-transform: rotate(0deg) scale(1.05); -moz-transform: rotate(0deg) scale(1.05); transform: rotate(0deg) scale(1.05);}

Page 38: Firefox & HTML5

box-shadow

✴ 影はボックス要素にも付けられます

CSS Transforms

✴ CSS で要素の回転、変形、拡大縮小、平行移動

SVG Filter for HTML

✴ ぼかしや切り取りなどの SVG フィルタ

SMIL アニメーション (Firefox.next̃)

✴ SVG の SMIL アニメーションをサポート

その他色々... https://developer.mozilla.org/en/Upcoming_Firefox_features_for_developers

Page 39: Firefox & HTML5

Web ApplicationsUser Interface, File...

Page 40: Firefox & HTML5

File API

photo by californiaAmy http://www.flickr.com/photos/amyandthomas/3865411819/

Page 41: Firefox & HTML5

File API

ローカルファイルの読み込み専用 API

Mozilla が中心に標準化、Firefox 3.6 で実装

書き込みは File API: Writer という別仕様

<input type="file"> 経由でのアクセスが一番基本

value は初期値設定や JS から文字列指定不可

XMLHttpRequest や Workers などでも利用可

Drag & Drop API との組み合わせも可能

Blob, File, FileReader などのインターフェイス

Firefox3.6̃ https://developer.mozilla.org/en/Using_files_from_web_applications

Page 42: Firefox & HTML5

https://developer.mozilla.org/en/Using_files_from_web_applications

<input type="file" id="fileInput" multiple="true"/><script><!--var fileInput = document.getElementById("fileInput");  fileInput.addEventListener("change", handleFiles);

// onchange イベントハンドラfunction handleFiles() {    var fileList = this.files;     for (var i = 0; i < files.length; i++) { alert("ファイル名: " + files[i].name); alert("内容: " + files[i].getAsText("UTF-8")); } // close や lock は不要 (try-catch すれば OK)}--></script>

Page 43: Firefox & HTML5

Drag & Drop API

Firefox3.6̃ http://r.dynamis.jp/fontdropdemo

Page 44: Firefox & HTML5

Drag & Drop API

HTML5 の Drag & Drop API

DOM 要素などは Firefox 3.5 からサポート

addEventListener("drop", function(event) { ... },true)

dragstart, dragover, dragend などのイベント

ローカルファイルの扱いは File API

File API との組み合わせは Firefox 3.6 から

event.dataTransfer.files でファイルを受け取る

あとは File API で自由に読み取る

Firefox3.5̃ https://developer.mozilla.org/Ja/DragDrop/Drag_and_Drop

Page 45: Firefox & HTML5

http://hacks.mozilla.org/2009/12/uploading-files-with-xmlhttprequest/

reader.onload = function(e) { var bin = e.target.result; //binaryString // 読み取ったファイルをアップロード var xhr = new XMLHttpRequest(); xhr.open("POST", "upload.php"); xhr.overrideMimeType('text/plain; charset=x-user-defined-binary'); xhr.sendAsBinary(bin);};

dropzone.addEventListener("drop", function(event) { event.preventDefault(); // ドロップイベントの dataTransfer でファイルアクセス var allTheFiles = event.dataTransfer.files; alert("ドロップしたファイル数: " + allTheFiles.length); for (var i = 0; i < files.length; i++) { // バイナリファイルとして読み込み reader.readAsBinaryString(files[i]); }}, true);

Page 46: Firefox & HTML5

onhashchange イベント

✴ URL #anchor 部の変化を検出

Cross Domain XHTMLRequest

✴ 別ドメインにも Ajax 通信

<input type=file multiple>

✴ 複数ファイルの一括アップロード

<checkbox checked=indeterminate/>

✴ True/False どちらでもない状態

Web Workers - close()

✴ ワーカースレッドが自己終了可能に

その他色々... https://developer.mozilla.org/en/Upcoming_Firefox_features_for_developers

Page 47: Firefox & HTML5

Yet Another PlatformLocation, Orientation, 3D...

Page 48: Firefox & HTML5

Geolocation API

Firefox3.5̃ http://maps.google.com/

Page 49: Firefox & HTML5

Geolocation API

W3C の Geolocation API

navigator.geolocation.getCurrentPosition()

navigator.geolocation.watchPosition()

Firefox 3.5 以降や iPhone の Safari などが対応

Chrome はネイティブサポートしないので注意

位置検出アルゴリズムはブラウザや端末次第

Firefox3.5̃ https://developer.mozilla.org/ja/Using_geolocation

Page 50: Firefox & HTML5

http://r.dynamis.jp/geolocationdemo<!-- Google Maps API 使用例 --><script src="http://maps.google.com/maps.google.commaps?file=api&amp; ... " type="text/javascript"></script><script type="text/javascript">window.onload = function() { // 現在位置を取得リクエスト (ユーザが許可したら関数実行) navigator.geolocation.getCurrentPosition(displayLocation);}

function displayLocation(loc) { // 引数 loc から中心地の座標を取得 var LatLng = new GLatLng(loc.coords.latitude, loc.coords.longitude);

// Google Maps API を使って地図を描画 var map = new GMap2(document.getElementById("gmap")); map.addControl(new GScaleControl()); map.addControl(new GMapTypeControl()); map.addControl(new GLargeMapControl()); map.setCenter(LatLng, 15); // 取得した座標に中央合わせ map.addOverlay(new GMarker(LatLng)); // 取得した座標にマーカー追加}</script>

Page 51: Firefox & HTML5

Orientation

Firefox3.6̃ http://r.dynamis.jp/oryzeademo

Page 52: Firefox & HTML5

Orientation

CSS と JavaScript の両方で利用可能

メディアクエリーで縦横画面別の CSS を指定

@media all and (orientation: portrait) { ... }

MozOrientation イベントで JavaScript 処理

window.addEventListener("MozOrientation", orientationHandler, true);定期的に加速度センサーからのイベント発生

Firefox3.6̃ http://hacks.mozilla.org/2009/10/orientation-for-firefox/

Page 53: Firefox & HTML5

https://developer.mozilla.org/en/Detecting_device_orientation

<!-- 縦方向 (portrait) と横方向 (landscape) の CSS --><link rel="stylesheet" href="portrait.css" media="all and (orientation:portrait)"><link rel="stylesheet" href="landscape.css" media="all and (orientation:landscape)"><style>@media all and (orientation: portrait) { ... }@media all and (orientation: landscape) { ... }</style><script type="text/javascript">window.addEventListener("MozOrientation", handleOrientation);function handleOrientation(orientData) {    var x = orientData.x; // デバイスの法線ベクトル X 成分  var y = orientData.y; // デバイスの法線ベクトル Y 成分  var z = orientData.z; // デバイスの法線ベクトル Z 成分    // デバイスの傾きに応じた適当な処理を行う}</script>

Page 54: Firefox & HTML5

WebGL

Firefox.next̃ http://www.khronos.org/webgl/wiki/Demo_Repository

Page 55: Firefox & HTML5

WebGL

The Khronos Group で API 仕様を策定

Apple, Google, Mozilla, Opera が参加

OpenGL ES 2.0 ベースの API を JS から使う

シェーダーやテクスチャなども当然利用可能

<canvas> を描画領域として利用

Firefox.next や WebKit Nightly でサポート

開発版 Firefox では about:config で設定が必要

webgl.enabled_for_all_sites = true

Firefox.next̃ https://developer.mozilla.org/en/WebGL

Page 56: Firefox & HTML5

https://developer.mozilla.org/en/WebGL/Getting_started_with_WebGL

<canvas id="glcanvas" width="640" height="480"/><script type="text/javascript">var canvas = document.getElementById("glcanvas");// Web GL コンテキストを取得// Firefox では "moz-webgl" または "experimantal-webgl"// WebKit では "webkit-gl"var gl = canvas.getContext("webgl");if (gl) { // WebGL コンテキストの初期化  gl.clearColor(0.0, 0.0, 0.0, 1.0);  gl.clearDepth(1.0);  gl.enable(gl.DEPTH_TEST);  gl.depthFunc(gl.LEQUAL); // ... 色々描画処理を ...}</script>

Page 57: Firefox & HTML5

HTML5 & FirefoxPlatforms Browser

Page 58: Firefox & HTML5

HTML5 & Safari

デザイン周りの機能に強い

Apple 独自拡張も多い

デザイナー向けブラウザ?

Page 59: Firefox & HTML5

HTML5 & Chrome

アプリ実行速度が最優先

プロトコルなども積極的

Web アプリ実行用ブラウザ?

Page 60: Firefox & HTML5

HTML5 & Firefox

制約をなくす技術に積極的?

実装のバグは比較的少ない

Web の未来を創るブラウザ?

Page 61: Firefox & HTML5
Page 62: Firefox & HTML5

やっぱいいよね Firefox

Page 63: Firefox & HTML5

Tips & HacksWeb Only Contents (・・).

Page 64: Firefox & HTML5

Native JSON

ブラウザネイティブ実装の JSON 変換メソッド

JSON.parse(), JSON.stringfy()

セキュアかつ高速な変換処理が可能

IE8 も今月 (2010/02) のアップデートで対応

IE はバージョンあげずに機能追加もするみたい...

http://support.microsoft.com/kb/976662/en-us/

これまでは json2.js などのライブラリを利用

http://www.json.org/js.html

ECMA 5th の trim() などもネイティブメソッド...Firefox.3.5̃ https://developer.mozilla.org/en/Using_native_JSON

Page 65: Firefox & HTML5

https://developer.mozilla.org/ja/Using_native_JSON

var foo = {};foo.str = "some string";foo.num = 3;foo.func = function(){ alert('(・・).'); };

var jsonString = JSON.stringify(foo);// jsonString = '{"str":"some string","num":3}'// リテラルと違いキー名も引用符で括られる// 関数のプロパティは JSON 仕様外なので無視される

var foo2 = JSON.parse(jsonString); // foo2 = {str: "some string", num: 3}

foo2.toJSON = function(){ return "bar"; }var jsonString2 = JSON.stringify(foo2)// jsonString2 = "bar";// toJSON() メソッドがあればその結果が使われる

Page 66: Firefox & HTML5

about: <Video>

HTML5 では <video> や <audio> タグを追加

サポート Codec の違いには注意が必要

Firefox は特許問題のない Ogg 形式に対応

H.264 特許権利者の Apple は H.264 のみ対応

特許権利者でない Google は Ogg/H.264 両対応

体感速度向上につながる属性に注意

ポスターフレーム画像を poster 属性に指定

自動バッファ設定は autobuffer 属性で指定

フルスクリーン対応は今のところ Firefox のみ

Firefox.3.5̃ http://hacks.mozilla.org/category/video/

Page 67: Firefox & HTML5

http://hacks.mozilla.org/2009/12/autobuffering-video-in-firefox/

<video controls> <!-- 各コーデックと、非対応ブラウザ向けを列挙 --> <source src="video.ogg" type="video/ogg"/> <source src="video.mp4" type="video/mp4"/> <embed src="video.swf" width="500" height="396" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true"/></video>

<!-- 自動バッファオン、ポスターフレームあり --><video controls autobuffer poster="posterframe.jpg"> ...</video><!-- 自動バッファのデフォルト動作はブラウザ次第です - デスクトップ Safari/Chrome はデフォルトでオン - Firefox/Opera, iPhone Safari はデフォルトオフ - 但し Opera はその予定なだけで autobuffer 未対応 -->

Page 68: Firefox & HTML5

Pointer Events

SVG 用 CSS pointer-events を HTML にも導入

Firefox 3.6 では auto と none だけ対応

pointer-events: auto; で従来通りの挙動

pointer-events: none; でマウスイベントを透過

例: 半透明画像下にあるリンクもクリック可能に

Firefox.3.6̃ https://developer.mozilla.org/en/CSS/pointer-events

Page 69: Firefox & HTML5

http://demos.hacks.mozilla.org/openweb/pointer-events/<div class="boxContainer"> <div class="layer1"> クリックしたい下レイヤ <a href="a.html">リンクテキスト</a> </div> <!-- 半透明背景画像だけの上レイヤ --> <div class="layer2"></div></div><style>.layer1 { background-color: rgb(221, 238, 246); position: absolute;}.layer2 { /* 右端をフェードアウトさせる半透明レイヤ */ position: absolute; right: -15px; width: 155px; height: 120px; background: -moz-linear-gradient(right, rgba(0,34,51,1) 40px, rgba(0,34,51,0));}</style>

Page 70: Firefox & HTML5

Selectors API

✴ querySelector() で DOM 要素を高速取得

classList

✴ 要素のクラス名を簡単かつ高速に操作

CSS rem (root em) Unit

✴ ルート要素に対する文字サイズを指定可能

CSS3 Values - calc() (Firefox.next̃)

✴ サイズなどの値に計算式を導入可能に

pushState() & popstate イベント (Firefox.next̃)

✴ URL 変更を伴わない履歴操作なども可能に

その他色々... https://developer.mozilla.org/en/Upcoming_Firefox_features_for_developers

Page 71: Firefox & HTML5

Referencesfor more information...

Page 72: Firefox & HTML5

ref.

hacks.mozilla.org - Mozilla と Web の最新技術紹介

http://hacks.mozilla.org/

Firefox の最新機能紹介ページ

https://developer.mozilla.org/en/Upcoming_Firefox_features_for_developers

https://developer.mozilla.org/ja/Firefox_3.6_for_developers

HTML5 Specifications (ブラウザの実装状況含む)

http://www.whatwg.org/specs/web-apps/current-work/

HTML5 の基本は矢倉さんのスライドがオススメ

http://www.slideshare.net/myakura/presentations

Page 73: Firefox & HTML5

ref. - demo - design

Text Shadow で作るスポットライト

http://hacks.mozilla.org/2009/06/text-shadow-spotlight/

CSS Gradients で作る美しいボタン

http://hacks.mozilla.org/2009/11/building-beautiful-buttons-with-css-gradients/

CSS Gradients + 複数背景画像の使用例

http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/

Web Fonts を使った美しいテキスト

http://www.alistapart.com/articles/cssatten

CSS Transition で作るフォトビューア

http://24ways.org/2009/going-nuts-with-css-transitions

Page 75: Firefox & HTML5

ref. - demo - platform

Canvas を使ったアプリケーション例

http://9elements.com/io/projects/html5/canvas/

http://mugtug.com/sketchpad/

Geolocation API の使用例

http://r.dynamis.jp/geolocationdemo

加速度センサーでオリゼーを動かすサンプル

http://r.dynamis.jp/oryzeademo

WebGL で描画する地球と火星のアニメーション

https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/Earth.html

Page 76: Firefox & HTML5

ref. - tools

Canvas を使った Open Web ツール検索

http://tools.mozilla.com/

Web Fonts Generator - eot や WOFF フォントに変換

http://www.fontsquirrel.com/fontface/generator

Processing.js - Canvas によるアニメーション

http://processingjs.org/

IE でも Canvas を Flash/Silverlight で実行

http://code.google.com/p/uupaa-js/

Page 78: Firefox & HTML5

ref. - webgl

WebGL セクション@MDC

https://developer.mozilla.org/en/WebGL

The WebGL Cookbook

http://learningwebgl.com/cookbook/

Khronos - WebGL

http://www.khronos.org/webgl/

http://www.khronos.org/webgl/wiki/Demo_Repository