Get Started. It's Free
or sign up with your email address
HTML5 by Mind Map: HTML5

1. The Web Sockets API

1.1. サーバーサイドのプロセスとの双方向通信の仕組み

1.1.1. HTTPを利用しない為、効率的な通信が実現可能

2. Web Workers

2.1. バックグラウンドで動作するJavaScriptスレッド

2.2. メインページのJavaScriptとワーカ(もしくはワーカ同士)が、JavaScriptオブジェクトをメッセージとして送受信

2.3. メリット

2.3.1. JavaScriptのロジック処理も含めることで画面の動作を軽快に見せることができる

2.4. 仕様策定中

2.4.1. Shared Worker

2.4.1.1. 複数のウィンドウ間で共有される

2.4.2. Persistent Worker

2.4.2.1. ウィンドウを閉じても動作を続ける

2.5. 特徴

2.5.1. 「スレッド」とは厳密な意味で異なり、変数を共有できない

2.5.2. window document といった変数も不可

2.5.3. workerからDOMを触ることはできない

2.5.4. 直接ログを吐き出せない

2.5.4.1. UIスレッドにメッセージを送ってログを吐き出すことで対応

3. クライアントの データ永続化機構

3.1. Web Storage

3.1.1. Key/Value形式で永続化

3.1.1.1. Key/Valueは共に、文字列

3.1.2. localStorage

3.1.2.1. ドメインごとに保存

3.1.2.1.1. 永続化期間、無制限

3.1.3. sessionStorage

3.1.3.1. ウィンドウごとに保存

3.1.3.1.1. 永続化期間、ウィンドウが閉じるまで

3.2. Web SQL Database

3.2.1. SQLでアクセス可能な永続化

3.2.2. 非同期API

3.2.2.1. 扱いにくいが、バックグラウンド処理

3.2.3. 同期API

3.2.4. 2010/01/08現在、 仕様が行き詰まっている

3.2.4.1. SQLLiteの実装に依存しているため

3.3. Indexed Database API

4. File API

4.1. ファイルを読み取るにはFileReaderオブジェクトを用いる

4.2. ファイル選択ダイアログでユーザが選択したファイルにアクセスし、内容を読み取るSample

4.2.1. // ファイルアップロード要素のDOMを取得 var fileElem = $("input[type='file']")[0]; // ユーザが選択したファイル(複数の可能性があるため、FileList型) var files = fileElem.files; // ファイル読み込みを行うオブジェクト var reader = new FileReader(); // 読み込み完了時のイベントを補足 reader.onload = function(event) { // ファイルの内容を文字列で取得(FileReader.resultが内容を保持) var fileContent = reader.result; ... // ファイルの内容を処理 }; for (var i = 0; i < files.length; i++) { var file = files[i]; // ファイルの内容を読み取る reader.readAsText(file, "UTF-8"); }

5. HTML5

5.1. 宣言

5.1.1. <!DOCTYPE html>

5.1.1.1. ブラウザに対して「最も最先端の仕様に基づき」パースやレンダリングを行うよう指示する

5.2. フォーム要素

5.2.1. inputタグ

5.2.1.1. 属性

5.2.1.1.1. type属性

5.2.1.1.2. 入力値の検証の属性

5.2.1.1.3. placeholder

5.2.1.1.4. autofocus

5.2.1.1.5. autocomplete

5.3. グラフィック要素

5.3.1. canvasタグ

5.3.1.1. グラフィックの描画領域

5.3.1.1.1. 幅、高さを指定

5.3.1.2. JavaScriptにて矩形・円・画像などを描画

5.3.1.2.1. 矩形や円、線、テキスト、画像などを描画するメソッドを持つほか、回転や変形などの変換操作を行うこともできる

5.3.1.3. タグ内には、canvasをサポートしていないブラウザで閲覧された際に表示する代替コンテンツを記述することができる

5.3.1.4. キャンバスを配置しただけで何も表示されない

5.3.1.4.1. グラフィックを描画するには、canvasのDOMオブジェクトが持つgetContext()メソッドを呼び出し、描画コンテキストを取得する必要がある

5.3.1.5. 特徴

5.3.1.5.1. 描いてしまった図を個別に認識できない

5.3.1.5.2. canvasの枠組だけでは、ボタンなどを認識できない

5.4. メディア要素

5.4.1. videoタグ

5.4.1.1. 動画の埋め込み

5.4.1.1.1. src="h.mov"

5.4.2. audioタグ

5.4.2.1. 音声の埋め込み

5.4.2.1.1. src="h.mp3"

5.4.3. (既存)

5.4.3.1. imageタグ

5.4.3.1.1. 同じジャンル

5.4.3.1.2. src属性

5.4.4. JavaScriptでの再生・停止などが可能

5.4.5. sourceタグ

5.4.5.1. リソースのURLやMIMEタイプを指定

5.4.5.2. メディアデータのMIMEタイプやコーデック方法を細かく指定することができる

5.4.5.3. 複数指定することが許されていて、ブラウザは記述された順序通りに評価し、ブラウザ自身が取り扱うことのできるメディアデータを自動で判別してくれる

5.4.5.4. 属性

5.4.5.4.1. src

5.4.5.4.2. type

5.4.5.4.3. media

5.4.6. タグの内部に記述したコンテンツは、video/audioタグをサポートしていないブラウザにとっての代替コンテンツとして利用できる

5.4.7. 属性

5.4.7.1. src

5.4.7.1.1. データのURL

5.4.7.2. poster

5.4.7.2.1. データを利用できない場合に、代わりに使用する画像のURLを指定(videoのみ)

5.4.7.3. autobuffer

5.4.7.3.1. データのバッファリングを自動で開始するかをbooleanで指定

5.4.7.4. autoplay

5.4.7.4.1. 再生を自動で行うかをbooleanで指定

5.4.7.5. loop

5.4.7.5.1. ループ再生を自動で行うかをbooleanで指定

5.4.7.6. controls

5.4.7.6.1. ブラウザ固有のコントロールUIを表示するかどうか

5.4.7.7. width

5.4.7.7.1. 動画の幅(videoのみ)

5.4.7.8. height

5.4.7.8.1. 動画の高さ(videoのみ)

5.5. 文書要素

5.5.1. セクション

5.5.1.1. articleタグ

5.5.1.1.1. 記事を表すセクション要素

5.5.1.1.2. ブログサイトにおける個々のエントリのように、内容が単体で完結しているセクションを表す

5.5.1.1.3. 入れ子になっている場合、内側のarticleは外側のarticleと本質的に関連しているものだと考える

5.5.1.2. asideタグ

5.5.1.2.1. 補助的な情報を表すセクション要素

5.5.1.2.2. このタグが記述された部分の外側の要素に対する、補足的な説明を表す

5.5.1.3. navタグ

5.5.1.3.1. ナビゲーションリングを表すセクション要素

5.5.1.3.2. Webサイトのナビゲーションリンクを配置するためのセクション

5.5.1.3.3. サイト内のページの中でも、とくに主要なページへのリンクを含めるのが適切

5.5.1.4. sectionタグ

5.5.1.4.1. 他のどれにも属さない汎用的なセクション要素

5.5.1.4.2. 文書で言えば「章」や「節」、Webアプリケーションで言えばタブで分割されたUIやダイアログなどを表すのに適切

5.5.1.4.3. CSSを用いたスタイルの適用を目的とした「コンテナ」的な用途にこの要素を用いるのは適切ではない

5.5.1.4.4. 目安としてはWebサイトの「アウトライン」を考えたときに、そこに含まれるかどうかでsectionとdivを使い分ければよい

5.5.1.5. body、blockquote、td、datagrid、figureといったタグもセクションを生成する

5.5.1.5.1. これらのタグは「セクションのルート」と呼ばれる

5.5.1.5.2. これらのタグの内部で構成されたセクション構造は、外側のセクション構造に影響を与えない

5.5.2. セクション内

5.5.2.1. セクションの論理構造や付加情報を表す

5.5.2.2. headerタグ

5.5.2.2.1. セクションのヘッダ

5.5.2.3. footerタグ

5.5.2.3.1. セクションのフッタ

5.5.2.4. address

5.5.2.4.1. article/bodyに関する問合せ先アドレス

5.5.3. セクションの見出し

5.5.3.1. h1...h6

5.5.3.2. hgroupタグ

5.5.3.2.1. 見出し要素(h1...h6)をまとめる要素

5.5.4. figureタグ

5.5.4.1. キャプション付きのフロー要素

5.5.4.2. 図表などの埋め込みが主な用途

5.6. メニュー要素

5.6.1. menuタグ

5.6.1.1. ツールバーや右クリック時などのメニューを表す要素

5.6.2. commandタグ

5.6.2.1. ユーザによって呼び出させるコマンドボタン

5.7. ルビ要素

5.7.1. ruby

5.7.2. rt

5.7.3. rp

5.8. オブジェクト埋め込み要素

5.8.1. embed

5.9. 出力要素

5.9.1. outputタグ

5.9.1.1. 出力フォーム

5.9.1.2. 可視状態のhidden

5.10. その他

5.10.1. progress要素

5.10.2. meter要素

5.10.3. details

5.10.3.1. ユーザが必要に応じて参照可能な詳細情報を表す要素

5.10.4. dialog

5.10.4.1. 対話形式のテキストを表す

5.10.4.2. dtタグとddタグを用いて、発言者と発言内容を表す

5.10.5. time

5.10.5.1. 日付を表す要素

5.10.6. mark

5.10.6.1. 他の部分から参照されている、という意味合いが強いテキストの強調

5.10.7. accesskey

5.11. 廃止

5.11.1. * acronym

5.11.2. * applet

5.11.3. * basefont

5.11.4. * bgsound

5.11.5. * big

5.11.6. * blink

5.11.7. * center

5.11.8. * dir

5.11.9. * font

5.11.10. * frame

5.11.11. * frameset

5.11.12. * isindex

5.11.13. * listing

5.11.14. * marquee

5.11.15. * nobr

5.11.16. * noembed

5.11.17. * noframes

5.11.18. * plaintext

5.11.19. * s

5.11.20. * spacer

5.11.21. * strike

5.11.22. * tt

5.11.23. * u

5.11.24. * wbr

5.11.25. * xmp