web on kernel

57
Web on Kernel for HTML5-NADO @ 201204 by Tomoya ASAI (dynamis) last update on 2012.04.12

Upload: dynamis-

Post on 12-May-2015

3.687 views

Category:

Technology


1 download

DESCRIPTION

第4回 HTML5など勉強会 まにフェス前夜祭 特別企画 で使用したスライド

TRANSCRIPT

Page 1: Web on Kernel

Web on Kernelfor HTML5-NADO @ 201204by Tomoya ASAI (dynamis)

last update on 2012.04.12

Page 2: Web on Kernel

about:me

http:// dynamis.jp

@dynamitter

facebook.com/ dynamismailto: Tomoya ASAI <dynamis mozilla-japan.org>@

Page 3: Web on Kernel

きょうのおはなし

ばずわーど

さいしんのぎじゅつ

うぇぶですまほ

あぷりをくばろう

Page 4: Web on Kernel

AgendaHTML5WebAPIBoot to GeckoMarketplace

Page 5: Web on Kernel

"HTML5"Review the Buzzword...

Page 6: Web on Kernel

""HHTTMMLL55"" ってなぁに?

フォクすけに教えて!

Page 7: Web on Kernel

The term "HTML5" is widely

used as a buzzword to refer to

modern Web technologies...

HTML 仕様書に書いてるよ!http://whatwg.org/html - Introduction

Page 8: Web on Kernel

HTML 仕様書に書いてるよ!http://whatwg.org/html - Introduction

"HTML5" という用語は最新Web 技術を指すバズワードとして広く使われています

Page 9: Web on Kernel

"HTML5" という用語は最新Web 技術を指すバズワードとして広く使われています

最新技術って何処までかな?

Page 10: Web on Kernel

OfflineSupport

UserInteraction

Canvas Microdata

Web Workers

WebSockets

CSSSemanticElements

Multimedia Elements

HTML5Parser

Web Messaging

HTML5 Forms

WebGLWebRTC

DOM

SVG

Geolocation

ECMA5th

MathML

XHR

WHATWG W3C Other(主な)仕様策定の場:

Page 11: Web on Kernel

W3C

仕様書名に

"HTM

L" を含む

HTM

L5 - W3C

HTML Living Standard - WHATWG

OfflineSupport

UserInteraction

Canvas Microdata

Web Workers

WebSockets

CSSSemanticElements

Multimedia Elements

HTML5Parser

Web Messaging

more...

HTML5 Forms

WebGLWebRTC

DOM

SVG

Page 12: Web on Kernel

今の ""HHTTMMLL55"" は?

フォクすけに教えて!

Page 13: Web on Kernel

Semantic Elements CSS Transforms ECMA5th

Multimedia Elements CSS Animations WebM Codec

Canvas 2D API SVG WebGL

Forms WOFF (Web Fonts) WebCL

Offline Events Event Listener (DOM) Typed Array

Drag & Drop API XHR Level 2 Audio Data API

Web Storage Indexed DB SQL DB (obsolate)

HTML5 Parser File API River Trail

Web Workers Geolocation SPDY

Web Sockets API Server-Sent Events Web Socket Protocol

Microdata Device Orientation ContentSecurityPolicy

Web RTC Battery Status ICC Color Profile

Page 14: Web on Kernel

Semantic Elements CSS Transforms ECMA5th

Multimedia Elements CSS Animations WebM Codec

Canvas 2D API SVG WebGL

Forms WOFF (Web Fonts) WebCL

Offline Events Event Listener (DOM) Typed Array

Drag & Drop API XHR Level 2 Audio Data API

Web Storage Indexed DB SQL DB (obsolate)

HTML5 Parser File API River Trail

Web Workers Geolocation SPDY

Web Sockets API Server-Sent Events Web Socket Protocol

Microdata Device Orientation ContentSecurityPolicy

Web RTC Battery Status ICC Color Profile

W3C HTML5

Page 15: Web on Kernel

Semantic Elements CSS Transforms ECMA5th

Multimedia Elements CSS Animations WebM Codec

Canvas 2D API SVG WebGL

Forms WOFF (Web Fonts) WebCL

Offline Events Event Listener (DOM) Typed Array

Drag & Drop API XHR Level 2 Audio Data API

Web Storage Indexed DB SQL DB (obsolate)

HTML5 Parser File API River Trail

Web Workers Geolocation SPDY

Web Sockets API Server-Sent Events Web Socket Protocol

Microdata Device Orientation ContentSecurityPolicy

Web RTC Battery Status ICC Color Profile

WHATWG HTML

Page 16: Web on Kernel

Semantic Elements CSS Transforms ECMA5th

Multimedia Elements CSS Animations WebM Codec

Canvas 2D API SVG WebGL

Forms WOFF (Web Fonts) WebCL

Offline Events Event Listener (DOM) Typed Array

Drag & Drop API XHR Level 2 Audio Data API

Web Storage Indexed DB SQL DB (obsolate)

HTML5 Parser File API River Trail

Web Workers Geolocation SPDY

Web Sockets API Server-Sent Events Web Socket Protocol

Microdata Device Orientation ContentSecurityPolicy

Web RTC Battery Status ICC Color Profile

Firefox

点線は標準非搭載や限定的実装

Page 17: Web on Kernel

"HTML5" の現状 "HTML5" >> HTML > HTML5

実装や仕様策定に伴い "HTML5" の領域は広がり続けている

Web がプラットフォームに 本格的アプリ開発が可能に

Page 18: Web on Kernel

これで十分なの?

フォクすけに教えて!

Page 19: Web on Kernel

"HTML5" ではまだできない システムステータス

電源, WiFi 情報, モバイル通信... 各種センサー

光センサー, 近接センサー... 低レベルハードウェア制御

USB, BlueTooth, NFC

Page 20: Web on Kernel

ボクもいろいろ使ってみた〜い!

Page 21: Web on Kernel

やりましょう。

あの人の写真は無断で使わないでおきます…

Page 22: Web on Kernel

Web APINo More Native Apps...

Page 23: Web on Kernel

http://arewemobileyet.com/

Page 24: Web on Kernel

Web API Web の限界を押し進める

HTML5 などの基本 API 以外 API の総称であって定義はない

W3C では DAP などで標準化 実装と共に標準化も進めていく 一部別の WG に分かれるかも?

https://wiki.mozilla.org/WebAPI

Page 25: Web on Kernel

昔からある Web API Geolocation (位置情報) Orientation (加速度センサー) Audio Data API WebGL (3D グラフィック) Camera API (WebRTC へ統合)

これらは既に Android 版 Firefox で実装済み

Page 27: Web on Kernel

現在実装中の Web API WebRTC (Camera, P2P など含む) Open Web Apps (アプリ管理) Idel, Power Management Mobile Connection,WiFi Information (無線情報)

Light Sensor (環境光センサー),Proximity Sensor (近接センサー)

...and more...

Page 28: Web on Kernel

ex. 環境光を確認してみるvar count = 0;function output(ambient) { // ambient.value 属性で lux 単位の光強度が得られる var d = document.getElementById("d"); d.innerHTML = "<p> 計測回数: " + count++ + "<p> 現在値: " + ambient.value}

// devicelight イベントにリスナを追加するwindow.addEventListener("devicelight", output, true);

// Firefox 14 か 15 から利用可能になる見込み

Page 29: Web on Kernel

実装予定の Web API Device Storage

USB file-reading も 低レベルハードウェア

Bluetooth, USB, NFC WebSocket 的になりそう

...and more...

ネイティブアプリにできることは何でも可能に

Page 30: Web on Kernel

検討中の WebAPI Socket API (低レベル TCP) Time/Clock (時刻設定) Alarm Calendar Spellcheck ...and more...

Page 31: Web on Kernel

もちろん API は標準化 W3C DAP (Device API) WG

ハードウェア操作やセンサー系 IETF/W3C WebRTC WG

マルチメディア系や P2P など Notification なども個別 WG また別の WG 増えるかも?

NFC, USB など低レベル系

Page 32: Web on Kernel

the Web is the Platform Web こそがプラットフォーム

端末、OS、ブラウザに閉じない Write Once Run Anywhere?

Page 33: Web on Kernel

これだけあれば…�

もちろん***ができる

Page 34: Web on Kernel

Boot to GeckoWeb Platform OS...

Page 35: Web on Kernel
Page 36: Web on Kernel
Page 37: Web on Kernel

ステータスバーも(電波強度、電池残量...)

電話や SMS の送受信も

もちろん Firefox も

カメラを使うのも

写真やビデオを見るのも

その他いろんなアプリも

マーケットプレイスも

Page 38: Web on Kernel

ステータスバーも(電波強度、電池残量...)

電話や SMS の送受信も

もちろん Firefox も

カメラを使うのも

写真やビデオを見るのも

その他いろんなアプリも

マーケットプレイスも

すべて Web 技術で!

Page 39: Web on Kernel

Boot to Gecko Gecko を起動する OS

Linux Kernel 上に Gecko を Java VM などの中間レイヤなし

Web 技術が「ネイティブ」に HTML5, JavaScript, Web API...

Gecko は Firefox の描画エンジン、WebRT = Web Runtime

Page 40: Web on Kernel
Page 41: Web on Kernel

Boot to Gecko の3要素 Gaia

ユーザインターフェイス Gecko

アプリケーションランタイム Gonk

低レベルの OS 層 シンプルなカスタム Linux

Page 42: Web on Kernel

Status 2012/03/09 - M2.1

Dogfood Release 2012/03/26 M2.5

Developer Preview Phone JSConf にて開発端末配布

Page 43: Web on Kernel

Roadmap 2012/06/01 - M3

functional/Gecko complete 2012/06/29 - M4

feature/Gaia complete and code freeze

TBD - M4.5 major bug fixing / UI freeze

(これはダミー)

Page 44: Web on Kernel

開発パートナーと製品化 Telefónica は本年中に製品化

世界 3~4 位のキャリア ホーム画面やアプリはカスタム

Deutsche Telekom (T-Mobile) Innovation Labs が開発に参加

Adobe, Qualcomm らも協力 PhoneGap の B2G 対応など

Page 45: Web on Kernel

Mozilla Marketplacethe Web is the Platform

Page 46: Web on Kernel

既存のプラットフォーム

現在のアプリケーションはそれぞれのプラットフォーム毎に作る必要がある

Page 47: Web on Kernel

Web がプラットフォーム

プラットフォームとしての Web

Web がプラットフォームになれば業界標準技術でどこでも動作するアプリ環境に

Page 48: Web on Kernel

Mozilla Marketplace デバイス・OS 横断マーケット

Web をアプリマーケットに マーケットで Web を分断しない

Web アプリの事前登録受付中 今年中に正式リリースを予定

http://hacks.mozilla.org/2012/02/mozillamarketplace-open-for-app-submissions/

Page 49: Web on Kernel

Web アプリの登録 0. アプリを作る 1. AppManifest を書く 2. Marketplace に登録

Page 50: Web on Kernel

0. アプリを作る

てきとーに作ってね。

Page 51: Web on Kernel

1. AppManifest を書く// 最小限これくらいの JSON 書くだけ。

{ "version": "0.1", "name": "DNT Checker", "description": "行動追跡を拒否しているか確認できます", "developer": { "name": "dynamis", "url": "http://dynamis.jp" }}

Page 52: Web on Kernel

2. Marketplace に登録

Page 53: Web on Kernel
Page 54: Web on Kernel
Page 55: Web on Kernel

4/26 からユーザ向けのベータを開始予定

あくまでも予定。ずれても知りません。

Page 56: Web on Kernel

続きは DevCon@Osaka でhttp://mozilla.jp/devcon

6/30 にまた大阪で!

Page 57: Web on Kernel

続きは DevCon@Osaka で

http://mozilla.jp/devcon