GREE オープンソーステクノロジー勉強会#19 に行ってきた
Scalaのと書く順番が前後してますが・・・
第19回オープンソーステクノロジー勉強会に行ってきました。
以下、メモ晒しと雑感。
講師: 白石さん@あゆた
html5-developers.jp @google group
HTML5 ってなに?
- HTML 最新バージョン。新要素、属性が多い。
- 10 月に最終ドラフト公開。
- 勧告にはまだまだ遠い (2022 年予定)=>実装されているものから使う。
- 仕様が分かれている
- マークアップ
- アプリケーション
HTML5 の基本
- content-type, file extemtion は変わらない
- タグの種類がすごく増える。
- 日付、 progress, meter, command etc...
新要素を使ったマークアップ
- アウトラインを構成する要素
- スタイル定義の要素には div を使う
- 独立したセクションの要素
- RSS で配信されてもいいようなもの
HTML5 では全てがセクションに所属する。
セクションは全て独立した要素である。
アウトライン = セクションの入れ子構造
セクションの構造を意味のある (セマンティックな) 要素で表す
=> プログラムから文書の構造がわかりやすくなる
特徴的な要素
フォーム要素
- 日付やメールアドレス、電話番号などのフォーム要素が増えた
- Opera では実装が進んでいる
- 入力値のヴァリデーションが属性値で制御できる。
- type での自動チェック
- 正規表現でのチェック
- オートコンプリートの実装が可能
- :list => datalist & option
その他の要素
- ドラッグアンドドロップ API
- IE での実装を標準か
- 外部アプリケーションとの連携が可能
- MIME type を指定してファイルの受け渡しが可能
- クロスドキュメントメッセージング
- 異なるウインドウ間でメッセージの受け渡しが可能
- iframe 内と通信したり
- ex) iGoogle のガジェット間通信 (ガジェットは iframe)
関連 API
アプリケーションキャッシュ
- Gears みたいなにローカルにキャッシュができる
Web Database
- クライアント上で動作する RDB
- SQL 使用可
- ドメインごとに領域が分かれている
- 1 ドメインで複数 DB 保持可
- 非同期 API と同期型 API が存在する
Web Strage
- key-value 型のストレージ
- Local strage: 永続的
- Session strage: ウインドウごと
- 既に IE8 で利用可能
Web Workers
- バックグラウンドで動作するスレッド
- 複雑になる JS アプリには必須
- スレッドとは厳密な意味では異なる
- 変数の共有不可
- メッセージング API を利用する
- Worker から DOM をいじるなども不可
- 辛い点
- Worker はデバッグ不可。ログ出力もメッセージ API 経由
- 実装ライブラリ
- fakeworker.js
- AlexService
Web Sockets
- 双方向通信を行う API
- サーバ側にも専用の実装が必要
- Port:80, 443
まとめ
- HTML5+API で Web アプリの可能性が広がる!
雑感
- ブラウザ自体がアプリケーションプラットフォームになる印象
- RDBやKVSの内包に注目。
- インターフェースもさらにリッチにできる。
- 簡単なアプリはブラウザだけで完結する。サーバサイドは同期するだけになるかも。
- HTML5 + CSS3 で注目されているが、いつのまにか JS も標準に組み込まれているような。
- HTML が JS を取り込んだという意見も
- HTML5 の要素には JS 前提のものが多い
- とりあえず覚えきれない。仕様でかすぎ。
- なぜかMS系の環境が連想された。特にExcelとか。
ともあれ、クライアント環境の強化によって、Webアプリケーションの様子ががらりと変わりそうな感じがします。