85
Last Update: 2012/10/06 HTML5 = OS Slides @ Kobe IT Festival 2012 by Tomoya Asai (dynamis)

HTML5 OS

Embed Size (px)

DESCRIPTION

神戸ITフェスティバルのプレゼンで使用したスライド http://kobe-it-fes.org/archives/1836

Citation preview

Page 1: HTML5 OS

Last Update: 2012/10/06

HTML5 = OSSlides @ Kobe IT Festival 2012

by Tomoya Asai (dynamis)

Page 2: HTML5 OS

about:me

Page 3: HTML5 OS

about:dynamisMozilla Japan

http://dynamis.jp@dynamitter

facebook.com/dynamisレッサーパンダが好き。

mailto: Tomoya ASAI <dynamis mozilla-japan.org>@

Page 4: HTML5 OS

about:mozilla

Page 6: HTML5 OS

Agenda

Page 7: HTML5 OS

本日のトピック

aboutHTML5HTML5.1Web=OSFirefox OS

Page 8: HTML5 OS

about:foxkeh

ときどきプレゼン手伝ってくれるフォクすけを紹介します

Page 9: HTML5 OS

ぼくフォクすけ

いつか僕も Firefox みたいな立派なブラウザになるんだ!

ぼくフォクすけ

Page 10: HTML5 OS

サーバ (Apache Camel) の上にクライアント (Firefox)

Page 11: HTML5 OS

9.14 からキャンペーン開始しています

Page 12: HTML5 OS

フォクすけの誕生日は 2006/09/01

Page 13: HTML5 OS

See Also...

Page 14: HTML5 OS

今日お話しできないことはスライド見てね

今日話さないことでも気軽に質問してください

Page 15: HTML5 OS

Firefox OS & Marketplace

Web プラットフォームWeb API が進化を続けている

MarketplaceWeb アプリ配信システム

Firefox OSWeb がネイティブな OS

http://r.dynamis.jp/fxos

Page 16: HTML5 OS

CSS 最新機能紹介

CSS の新機能紹介新機能や昨年から変わった点

http://r.dynamis.jp/css2012

Page 17: HTML5 OS

JavaScript.Next

JavaScript の最新仕様ECMAScript 5th のポイント

JavaScript 次世代仕様ECMAScript 6th や Harmony

http://r.dynamis.jp/jsnext

Page 18: HTML5 OS

開発者ツール紹介

一通りの機能と使い方Firefox 標準の開発者ツール隠し設定やビルトイン関数のリファレンスなども含めています

Firebug とその拡張機能アイコンや背景画像を変更するカスタマイズにも言及してます

http://r.dynamis.jp/devtools

Page 19: HTML5 OS

セキュリティ関連機能紹介

セキュリティ大事!知っておくべき機能です

Content Security Policy次世代セキュリティポリシーSame Origin Policy はもう古い

http://r.dynamis.jp/sec

Page 20: HTML5 OS

HTML5

Page 21: HTML5 OS

みんな大好き ""HHTTMMLL55""

Mozilla と Firefox もみんな大好きだよね?

Page 22: HTML5 OS

The term "HTML5" is widely used as a buzzword to refer to modern Web technologies...

WHATWG HTML 仕様書の解説http://whatwg.org/html - Introduction

Page 23: HTML5 OS

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

WHATWG HTML 仕様書の解説http://whatwg.org/html - Introduction

Page 24: HTML5 OS

"HTML5" 以前の Web

文書のための HTML+α複雑なものは Flash で

互換性のない独自拡張仕様のない新機能ばかり

デバイス毎の Webモバイル Web は別物だった

Page 25: HTML5 OS

IE の独占市場を Firefox が崩して Web 標準の時代へ

ブラウザ戦争

Page 26: HTML5 OS

"HTML5" の目的

アプリのための HTMLすべてを Web 技術で実現

互換性のある実装にブラウザの挙動を厳密に定義

マルチデバイス Webどこでも同じ "One Web"

Page 27: HTML5 OS

Web 標準プラットフォームvs

独自技術で囲い込んだ Web

「ブラウザ戦争」の時代はとっくに終わりました

Page 28: HTML5 OS

"HTML5" への期待

次世代プラットフォームアプリ開発のプラットフォーム

Web アプリ開発を簡単に互換性のある範囲の拡大

マルチデバイス展開コード共通化でコスト削減

Page 29: HTML5 OS

既存の独自プラットフォーム

現在はプラットフォーム毎に異なる言語で別々のアプリを作る必要がある

Page 30: HTML5 OS

Web が共通プラットフォーム

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

Web がプラットフォームなら業界標準技術でアプリ環境が統一される

Page 31: HTML5 OS

僕らの WWeebb を独占から守ろう!

Web はみんなのものだから独占しちゃダメだよね!

Page 32: HTML5 OS

Web で可能になったこと

マルチメディアAudio, Video, Animation, 3D ...

アプリケーションOffline, Storage, File ...

高度な通信制御双方向通信, DNT ...

Page 33: HTML5 OS

Web ではできなかったこと

システムステータスWiFi 情報, モバイル通信...

各種センサー光センサー, 近接センサー...

低レベルハードウェア制御USB, BlueTooth, NFC...

Page 34: HTML5 OS
Page 36: HTML5 OS

SemanticElements

MultiMedia

Canvas

HTML5Forms

OfflineSupport

Micro-Data

Server-Sent ev.

WebSockets

WebStorage

HTML5HTML5Parser

Mouse,Key ev.

XHTML5

WebWorkers

WebMessag-

ing

WAI-ARIA

W3C

WHATWG

HTML

Page 37: HTML5 OS

SemanticElements

MultiMedia

Canvas

HTML5Forms

OfflineSupport

Micro-Data

Server-Sent ev.

WebSockets

WebStorage

LayoutMedia

Queries

HTML5

CSS3~Transform

Animation Regions

FlexBox

HTML5Parser

Mouse,Key ev.

XHTML5

WebWorkers

WebMessag-

ing

WAI-ARIA

W3C

WHATWG

HTML

Page 38: HTML5 OS

SemanticElements

MultiMedia

Canvas

HTML5Forms

OfflineSupport

Micro-Data

WebGL

IndexedDB

SVG

Server-Sent ev.

WebSockets

WebSockets

Geo-location

FileAPI

WebStorage

XHR2

MathML

LayoutMedia

Queries

HTML5

CSS3~Transform

Animation Regions

FlexBox

HTML5Parser

Mouse,Key ev.

ECMAScript

CSP

SPDY

XHTML5

Orien-tation

WebWorkers

WebMessag-

ing

DOM4

SMIL Vibra-tion

XPathRSS

OGP

WAI-ARIA

W3C

WHATWG

other

Khronos

ECMA

IETF

WOFF

HTML

DNT

Page 39: HTML5 OS

SemanticElements

MultiMedia

Canvas

HTML5Forms

OfflineSupport

Webm

H.264

Micro-Data

WebGL

WebSQL

IndexedDB

SVG

Server-Sent ev.

WebSockets

WebSockets

Geo-location

FileAPI

WebStorage

XHR2

MathML

WebAudio

LayoutMedia

Queries

HTML5

CSS3~Transform

Animation Regions

FlexBox

HTML5Parser

Mouse,Key ev.

Opus

ECMAScript ECMA

6th

USB

CSP

SPDY

WebCL

WebRTC

NetInfo

MP3

DeviceStorage

TCPSocket

NFC

File Sys

Notifi-cation

XHTML5

Orien-tation

WebWorkers

WebMessag-

ing

DOM4

SMIL Vibra-tion

Proxi-mity

XPathRSS

RDF

OGPSchema

.org

WAI-ARIA

W3C

WHATWG

other

Khronos

ECMA

IETF

WOFF

BatteryStatus

Radio

Tel

HTML

DNT

Page 40: HTML5 OS

もっともっと WWeebb を進化させなきゃ!

僕らの Web が進化しないと闇の組織に支配されちゃう!

Page 41: HTML5 OS

HTML5.1

Page 42: HTML5 OS

HHTTMMLL55 の次はHHTTMMLL55..11 ?

HTML6 じゃないのはちょっと意外だよね!

Page 43: HTML5 OS

HTML5 の次は HTML5.1

W3C 仕様書の話です!= バズワード "HTML5"

HTML5 は 2014 年に標準化今年中に仕様をほぼ確定に

HTML5.1 も平行して標準化5.1 は 2016 年に標準化

http://dev.w3.org/html5/decision-policy/html5-2014-plan.html

Page 44: HTML5 OS

HTML5 < HTML << "HTML5"

HTML5 = W3C 仕様書安定化を進めるスナップショット

HTML = WHATWG 仕様書常に進化を続ける最新仕様

"HTML5" = Web 技術全部てきとーに呼んでるだけ

Page 45: HTML5 OS

HTML5 = 安定ブランチHTML5.x = ブランチ更新

HTML = 最新の HTML

喧嘩して分離したのではないW3C で安定化作業を始めただけ

Page 46: HTML5 OS

HHTTMMLL の進化は続いてるんだね!

HTML5.x の安定化中もHTMLの進化は止まらない

Page 47: HTML5 OS

Web = OS

Page 48: HTML5 OS

今の ""HHTTMMLL55"" で満足してちゃだめ!

未来に向かって走り続けなきゃ!ぼくは足短いから走るの遅いけど

Page 49: HTML5 OS

JavaScript の進化

次世代 JS 最高!Firefox が最も実装進んでる慣れると現 JS 書くのがツライ

高速化やデバッグ容易化Class, TypedArray, ParallelArray ...静的解析でコンパイル時エラーを出しやすい言語仕様に

Page 50: HTML5 OS

TypeScript ってどうなの?

JS はすべて TS だって!互換性大事だよね!

次世代 JS 使えるって!でも実装がダメ (><)

MS お得意の独自拡張お得意のインテリセンスも

Page 51: HTML5 OS

たったこれだけでも非互換// JavaScript (Firefox 実装済み)(function(){ var [a, b] = [1, 2]; // 関数スコープ})();console.log(a);// -> TypeScript で変換後(function () { var __missing; [a, b] = [1, 2]; // グローバル})();console.log(a);// もしバグじゃなくて仕様なら残念すぎる

Page 52: HTML5 OS

雨後の筍がポコポコ生えてる?

CoffeeScript次世代 JS の先輩的存在

Dart他人。Chrome に囲い込み?

JSX誰が書いても遅くならない

Page 53: HTML5 OS

JavaScript が常に勝つ!

すべて問題解決してきた速度遅い → 高速化ミス多発 → Strict Modeスレッドがない → WorkersGPU 使えない → WebGLClass 使いたい → 入るよ

写真は JavaScript の父 Brendan Eich (Mozilla CTO) です

Page 54: HTML5 OS

Web デザインの進化

フィルターSVG Filter, CSS Filter

レイアウトGrid, Regions, Exclusions...

CSS 構文の進化@document, variable ...

Page 55: HTML5 OS

SVG Filter, CSS Filter

Mozilla:既にある SVG 使おうぜ!

WebKit:SVG なんてシラネ。俺は何でも CSS でやるぜ!

Mozilla:仕方ないな…

Page 56: HTML5 OS

レイアウトいろいろ by Adobe

Page 57: HTML5 OS

アニメーションの進化

乱立しすぎ&連携無し!JavaScript AnimationCanvas 2D, WebGLSVG & SMILCSS Transisions, Animations

Web Animations へ

Page 58: HTML5 OS

Web Animations へ

Apple (Flash 代替技術として):CSS でアニメーション!

Mozilla & Opera:クソ構文は直して標準化

Mozilla, Google, Adobe:JS と一括管理できる API 作ろう

Web Animations は Mozilla Japan の Brian さん頑張ってます

Page 59: HTML5 OS

マルチメディアの進化

Audio Data, Web AudioCamera API (Media Capture)WebRTC - getUserMedia電話会議などは簡単に

Page 60: HTML5 OS

WebRTC (getUserMedia)

Page 61: HTML5 OS

WebRTC (getUserMedia)

Page 62: HTML5 OS

インタラクティブ系の進化

Touch EventVibrationGamepadPointer LockResource LockIdle

Page 63: HTML5 OS

BananaBread

https://developer.mozilla.org/ja/demos/detail/bananabread

Page 64: HTML5 OS

BananaBread

https://developer.mozilla.org/ja/demos/detail/bananabread

Page 65: HTML5 OS

ネットワーク系の進化

Server-Sent EventWebSocketSPDY v2, v3 ... HTTP 2.0?WebRTC - P2PTCP SocketUDP Datagram Socket

Page 66: HTML5 OS

デバイス間連携の進化

Web IntentsWeb ActivitiesPush Notification

Page 67: HTML5 OS

デバイス間連携はこれから本番

Mozilla:Web Activities!

Google:Web Intents!

Mozilla & Google:WHATWG で標準化議論中共に将来非互換になる見込み

この辺の話はカエルさん(小松さん)が扱ってましたね

Page 68: HTML5 OS

ステータス系の進化

WiFi Info, Mobile ConnectionNetwork Info (通信速度等)Battery Status

Page 69: HTML5 OS

センサー系の進化

Geolocation (位置情報)Orientation (加速度)Ambient Light (環境光)Proximity (近接)

Page 70: HTML5 OS

ハードウェア系の進化

BluetoothUSB, USB file-readingNFCFM Radio

Page 72: HTML5 OS

アプリとしての進化

Open Web Appsアプリとしてインストール

FileReader, FileHandleDevice Storage

Page 73: HTML5 OS

ホンモノの Web "アプリ"

ブラウザという枠を飛び出して動作

Page 74: HTML5 OS

Android でも実装済み

開発版での画面です

Page 75: HTML5 OS

夢が広がるね!

僕はまず立派なブラウザになりいつかは立派な OS にならなきゃ

Page 76: HTML5 OS

Firefox OS

WebRT as an OS...

Page 77: HTML5 OS

おーえすになる!

僕より先に OS になるんだねやっぱり Firefox って凄いや!

Page 78: HTML5 OS
Page 79: HTML5 OS
Page 80: HTML5 OS
Page 81: HTML5 OS

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

電話や SMS の送受信ももちろん Firefox も

カメラやラジオも

音楽やビデオの再生も

その他なんでも...

マーケットプレイスも3Dアプリも

Page 82: HTML5 OS

すべて Web 技術で!

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

電話や SMS の送受信ももちろん Firefox も

カメラやラジオも

音楽やビデオの再生も

その他なんでも...

マーケットプレイスも3Dアプリも

Page 83: HTML5 OS

開発パートナーと製品化

Telefónica が来年初め発売世界 3~4 位のキャリア最初はブラジルで発売予定Qualcomm のチップを使用端末製造は ZTE や TCL

and more...

掲載ロゴはパートナー企業の一部です: http://mozilla.jp/blog/entry/9603/

Page 84: HTML5 OS

パートナー企業 (一部)

一部。配置・順序に意味はなし

Page 85: HTML5 OS

楽しみ楽しみ!

僕もスマホになって君と一緒にお出かけしたいな!