51

Future with Firefox OS

Embed Size (px)

DESCRIPTION

Firefox OS説明会@モバイルソリューション研究会で使用したスライド http://www.csaj.jp/seminar/2014/0826_seminar.html

Citation preview

OPEN FIRE FIREWEB

!

!

!

!

!

!

!

Internet

Kernel & HAL Kernel & HAL

Web Platform

GeckoDevice API System API

Packaged App(Local File)

Hosted App(Web Site)

App Framework

LibrariesBlink SGL etc...

AndroidRuntime

Native Interface

Dalvik VM

Java App

Native Library

Chrome (Browser App)

InternetWebView Contents

{   "name": "フォクすけアプリ",

  "description": "あのフォクすけが遂にアプリに!",   "launch_path": "/index.html",   "icons": {     "128": "/icons/foxkeh-128.png"   },   "developer": {     "name": "dynamis",     "url": "http://dynamis.jp/"   } } // 注意: ローカルで / -> /index.html 変換はない

!

!

Semantic Elements

Multi Media

HTML5 Forms

Offline SupportHTML5HTML5

Parser

Mouse, Key ev.

XHTML5WAI- ARIA

W3C

Semantic Elements

Multi Media

Canvas

HTML5 Forms

Offline Support

Micro- Data

Server- Sent ev.

Web Sockets

Web Storage

HTML5HTML5 Parser

Mouse, Key ev.

XHTML5

Web Workers

Web Messag-

ing

WAI- ARIA

W3C

WHATWG

HTML

Semantic Elements

Multi Media

Canvas

HTML5 Forms

Offline Support

Micro- Data

Server- Sent ev.

Web Sockets

Web Storage

Layout

Media Queries

HTML5

CSS3~Trans form

Anim ation

Regions

Filters

HTML5 Parser

Mouse, Key ev.

XHTML5

Web Workers

Web Messag-

ing

WAI- ARIA

W3C

WHATWG

HTML

Semantic Elements

Multi Media

Canvas

HTML5 Forms

Offline Support

Micro- Data

WebGL

Indexed DB

SVG

Server- Sent ev.

Web Sockets

Web Sockets

Geo- location

FileAPI

Web Storage

XHR2

Math ML

Layout

Media Queries

HTML5

CSS3~Trans form

Anim ation

Regions

Filters

HTML5 Parser

Mouse, Key ev.

ECMA Script

CSP

SPDY

XHTML5

Orien- tation

Web Workers

Web Messag-

ing

DOM4

SMIL Vibra- tion

XPathRSS

OGP

WAI- ARIA

W3C

WHATWG

other

Khronos

ECMA

IETF

WOFF

HTML

DNT

Semantic Elements

Multi Media

Canvas

HTML5 Forms

Offline Support

Webm

H.264

Micro- Data

WebGL

Web SQL

Indexed DB

SVG

Server- Sent ev.

Web Sockets

Web Sockets

Geo- location

FileAPI

Web Storage

XHR2

Math ML

Web Audio

Layout

Media Queries

HTML5

CSS3~Trans form

Anim ation

Regions

Filters

HTML5 Parser

Mouse, Key ev.

Opus

ECMA Script ECMA

6th

USB

CSP

SPDY

WebCL

Web RTC

Net Info

MP3

Device Storage

TCP Socket

NFC

File Sys

Notifi- cation

XHTML5

Orien- tation

Web Workers

Web Messag-

ing

DOM4

SMIL Vibra- tion

Proxi- mity

XPathRSS

RDF

OGP

Schema .org

WAI- ARIA

W3C

WHATWG

other

Khronos

ECMA

IETF

WOFF

Battery Status

Radio

Tel

HTML

DNT

Flex Box

出版業界が必要としてきた機能も順次実装&標準化 任意領域への流し込み、多段レイアウト等も CSS で

デジタル出版プラットフォーム

http://adobe-webplatform.github.io/Demo-for-Alice-s-Adventures-in-Wonderland/

Unreal Engine 4 (Epic Soul)

最新ゲームエンジンも速やかに Firefox に対応 ネイティブゲームも最初のタイトルが出たばかり

http://www.mozilla.jp/blog/entry/10388/

Unreal Engine 4 (Epic Soul)

最新ゲームエンジンも速やかに Firefox に対応 ネイティブゲームも最初のタイトルが出たばかり

http://www.mozilla.jp/blog/entry/10388/

Unreal Engine 4 (Epic Soul)

最新ゲームエンジンも速やかに Firefox に対応 ネイティブゲームも最初のタイトルが出たばかり

http://www.mozilla.jp/blog/entry/10388/

Unreal Engine 4 (Epic Soul)

最新ゲームエンジンも速やかに Firefox に対応 ネイティブゲームも最初のタイトルが出たばかり

http://www.mozilla.jp/blog/entry/10388/

f

Firefox や Chrome では Web アプリを 独立したアプリとしてインストール可能

Chrome Apps

Firefox Apps

Serial

UDB Diagram Socket

Print

USB WebCL WebGL2

DeviceIndexedDB

USB File Reading

WebSocket Over Apps

大規模アプリは遅かった

大規模アプリの処理速度では C 言語が圧倒的に速い (小規模アプリや一部ベンチ限定で以前から高速)

2013/03 - http://kripken.github.io/mloc_emscripten_talk/#/19

C 言語に追いついてきた!

殆どの処理で C 言語 (clang) の 1.5 倍以内の時間 C (clang) < JavaScript (asm.js) < C (gcc) の場合も

2013/12 - https://hacks.mozilla.org/2013/12/gap-between-asm-js-and-native-performance-gets-even-narrower-with-float32-optimizations/

C 言語 (clang) 基準の実行時間

高速

既存 JavaScript エンジンで動作 高度に最適化可能なパターン

経験的に JIT する必要が無い形式

型の明示 (Annotation) も既存 JavaScript の範囲内で行う

ガーベジコレクションを回避

C 言語などから変換する対象

CrankShaft や IonMonkey の SSA 最適化 JIT の効果を確実かつオーバーヘッドなく使えるように

暗黙知 (ダーティハック) にお別れ

予測不能な JIT/GC を回避