2012年1月16日

HTML5の機能実装はスマホ・ブラウザ毎にこれほど違う

15年くらい前、初めて水素燃料エンジンについて耳にした。アイディアはシンプルで完璧だ。クリーンで、燃料は無料で無尽蔵、副産物は水だけ。これで、汚くて、有限の化石燃料を燃やすガソリンエンジンとはおさらばできると思ったさ。
でも、残念ながら、 実用化の過程で、石油の精製過程の副産物として出てくるはずの水素が公害対策で当てがはずれ、水素と空気の混合気を燃焼させると窒素酸化物が生成されるという問題が明らかになって迷走。15年たって、熱烈な支持者は今もいるけれど、水素燃料エンジンが生産ラインに乗る日は遠そうだ。


HITML5でモバイルは薔薇色になるという話を聞くと、
私は水素燃料エンジンのことを思い出す。
 
確かに、複数のOS上で動作するアプリケーションを同じスキルセットで制作できるのは素晴らしいことだ。しかし、よくチェックすれば、HTML5がネイティブな開発環境を越える日が来るのはまだ先だとわかる。現に、Apple、 Google、 Facebook、 Microsoft、 Amazon、みんなHTML5の熱心なサポータだけど、彼らはネイティブ開発環境を推し進め、これへ投資を続けている。

「HTML5の夢を現実化するために、みな同じ方角に向かわなくてはならない」  -  会社もコミュニティも、開発者も利用者もこう言うけれど、現実は厳しい。W3Cは数年がかりでHTML5標準化を終結させることができずにいるし、実際のところ、ピュアHTML5とは何なのかについての合意もできていない。スマートフォンで使われている各ブラウザのHTML5実装状況もまちまちで互換性があるとは言いがたい。結果、HTML5ベースのWEBアプリケーションは、十分なパフォーマンスを発揮できないでいる。


HTML5が機能面でネイティブアプリケーションに並び、スマートフォンのハードウエア・デバイスをネイティブのように扱えるようにもなる日は来るのだろうか。現状の、HTML5のデバイス・ブラウザ毎の機能サポート状況は次の表のとおりだ。



モバイルOS iPhone,
& iPad
Android
Phone 1,2.3-4.0
Android
Tablets 3.0+
BlackBerry
Phone
BlackBerry
Tablets
Meego,
& Nokia N9
Symbian Windows
Phone
iPhone, iPad ,
& Android
Android WebOS
ブラウザ Safari Android Browser Android Browser BlackBerry Browser BlackBerry Browser Nokia Browser Nokia Browser Internet Explorer Opera Mobile Opera Mini FireFox WebOS Browser
3.2 1.5 3 5 1 1.2 3 9 11 5 6 1.4
Application Cache API
オフラインパッケージ
●2.1+ ●6.0+ - - -
Web Storage API
セッション永続保存
●2.0+ ●6.0+ - -
Web SQL Storage API
ブラウザにDB実装
●2.0+ ●6.0+ - - - -
Geolocation API
位置情報とトラッキング
●2.0+ ●6.0+ - -
Multimedia API
動画音声プレーヤ
●2.3+ ●7.0+ - -
Server-Sent Event API
サーバからのデータプッシュ
●4.1+ - - - - - - - -
Web Sockets API
http上の双方向通信
●4.2+ - - ●6.1+ - - - - ●7+ -
Web Workers API
バックでの並行処理
●5.0+ - - ●6.0+ - - - -
Canvas API
二次元描画
●Anna+
Scalable Vector Graphics Group
XML記述のベクターグラフィックス
●4.0+ -
Motion Sensors STD
加速度センサー・ジャイロスコープ標準
●4.2 ●4.0+ - - - - - - ●moz -
Form Virtual Keyboards STD
仮想キーボード標準
- - ●Anna+ - -
Form New Controls API
フォームコントロールAPI
●5.0+ - - - - - - - -
Touch Events API
タッチ処理API
●2.1+ ●6.1+ - -
(android)
- -
Cascading Style Sheets (CSS) 3
カスケーディング・スタイル・シート
●6.0 ●Anna+ ●一部
CSS 3 Transforms 2D Standard
CSS3 トランスフォーム2D プロパティ
●2.0+ ●Anna+ ●一部
CSS 3 Transforms 3D Standard
CSS3 トランスフォーム3D プロパティ
●4.0+ - - - - - - -
CSS 3 Transitions Standard
CSS3 トランジション プロパティ
●2.0+ ●6.0 ●Anna+ - -
CSS 3 Animations Standard
CSS3 アニメーション プロパティ
●2.0+ ●6.0 ●Anna+ - -
Viewport definition API
Viewport操作メタタグ サポート
●一部 ●Anna+ ●一部 -
Position fixed support Standard
スクロール・ズームでViewport要素保持
●5.0+ ●2.2+
一部
●3.1+ ●7.0+ - - - - - -
Remote Debugger
リモートデバッガー
●weinre ●weinre ●weinre ●7.0+ - - -
DragonFly
- - ●weinre
WebGL Khronos Group API
3次元CG表示
- ●2.3
Xperia
- - ●2.0
beta
- - - - - -
XMLHttpRequest 2.0
AJAX2.0
●5.0+ ●4.0+ - - - - - - - -
Navigation Timing API
ブラウザ処理イベント
- ●4.0+ ●4.0+ - - - - - - ●7+ -
Notifications API
バックグラウンドアラート
- - - - - - - - - - -
Network Information API
2G, 3G, 4G, WiFi接続識別
- ●2.2+ - - - - - - - - -
File API
ローカルファイル取得
- ●4.0+ - - - - - - - - -
CORS API
クロスドメイン通信
●4.0+ - - - - - - - -
HTML Media Capture API
音声・画像・ビデオキャプチャ
- ●4.0+ - - - - - - - - -
IndexedDB API
インデックス・トランザクション可能DB
- - - - - - - - - - -

英文はこちらに 
表の典拠はここ

0 件のコメント:

コメントを投稿

Copyright 2011, Magic Software Japan.