GoogleDeveloperDay2009に行ってきた!!vol.2

HTML5のセッションのメモ書きです。

  • HTML5の内容
    • HTML5はアプリケーションプラットフォーム
    • HTML4までは構造文書を定義するという姿勢だった
    • HTML5は構造化文章として強化するとともに
      • アプリケーションを作るための要素が追加
      • 挙動の定義
      • 様々なAPIの定義(文章と関係ないAPIも定義)
    • アプリケーションを動かすための標準プラットフォームを定義する規格へ
      • 長期的な目標はOSネイティブアプリケーションに匹敵するような機能をOSに依存することなく作る
    • HTML5がウェブの使いやすさを向上させる
      • オフライン関連機能
      • SVG,MathML,canvas,audio,videoなどによる表現力の向上
      • メニューやフォーム強化
    • HTML5が開発を容易にする
      • プラグイン無しでサービスを提供可能
      • メニューやフォーム検証には大量のスクリプトコードが必要であったが、HTMLの記述だけで可能になる
      • 規格で曖昧だった点や全く標準規格が存在しなかった部分が規格化されることで、ブラウザの非互換部分が減少
    • ドラッグ&ドロップ機構
    • contenteditabe属性の標準化
    • ドキュメント間メッセージング
    • ルビ
    • SVG関連
  • 規格の概要
    • HTML5は10年ぶりの新バージョン
      • HTML4,XHTML1.1,DOM Level2 HTMLを包含し、機能を加える規格
      • XHTML2およびXformは含まない
      • W3Cの規格となるが、実作業はWHATWG
  • HTML5は4つの規格で構成
    • 元は1つだったが、あまりに巨大な為分割された
    • 現在すべてWorking Draftの状態
    • Editorによると2009年10月に最後のWorking Draft
  • HTML表記とXHTML表記
    • HTML表記とXHTML表記をサポートする
    • SVGとMathMLはXHTMLの時のみサポート
  • Web Workers
    • マルチスレッドの為の仕組み(バックグランドでスクリプトを実行する)
    • 毎回新しいスレッドを生成するWorkerと複数のウィンドウで共有できるSharedWorker
    • ウィンドウを閉じても動き続けるpersistent workerを議論中
  • Web Sockets
    • 複数のプロトコルでサーバと文字列の送受信する仕組み
      • HTTPではないので、サーバ側での実装も必要
    • XMLHttpRequestと比べるとオーバヘッドが小さくリアルタイム性が高い
  • Web Storage
    • クライアント側にデータを格納する仕組み
    • データ形式2つ
      • ストレージ型・・・key-value形式で保存。クッキーみたいな使い方??
      • Database型・・・SQLを使える。ストレージ型に比べ時間がかかるので、同期実行、非同期実行を選べる
    • アプリケーションキャッシュ
      • キャッシュしても良いURL、しないでほしいURLを宣言
      • ブラウザがオンライン時にはキャッシュされていないURLを先読みし、オフライン時にはキャッシュを使う
      • メリットはHTTPのヘッダをごにょごにょしなくてすむ
    • フォームの強化
      • input要素の新タイプ(search,url,email,time,datatime-local,number,color)
      • フォーム検証機能
        • 検証をパスしないとsubmitしない
        • スクリプトで任意のタイミングでバリデートすることが可能
        • inputタグに直接バリデートする正規表現を記述する(<input type="url" pattern="正規表現">)
    • メディア要素(canvas)
    • メディア要素(video,audio)
      • img要素と同じようにメディアの再生が可能
      • APIを操作する事により、再生を制御することが可能
    • アプリケーション向け要素:menu要素
    • アプリケーション向け要素:datagrid要素
      • まとまったデータを表現する
      • リスト構造、木構造、表を扱う
      • ソートが可能
    • アプリケーション向け要素:progress要素meter要素
  • 構造化文書向け要素
    • section,,article,aside,header,footer,nav,timeなど
    • ページの中の要素を定義できる。
    • コンピュータ(botとか)が理解出来るページになる


次は何見るかなー