ようこそ、html5裏apiの世界へ - html5 conference 2013

65
2013 11 30 @futomi futomi.hatano http://www.html5.jp/ HTML5 Conference 2013

Upload: futomi-hatano

Post on 08-Sep-2014

52 views

Category:

Technology


7 download

DESCRIPTION

Canvas、WebGL、WebRTC、WebSocketなど、HTML5の花形スターとも言えるモテ系APIは、常に世間の注目を集めている。これらAPIを使いこなせるウェブディベロッパーはどこからも引っ張りだこだろう。しかし、注目度が低いながらも、今後のウェブを支える(かもしれない)最新のAPIが数多く存在する。このようなAPIは派手さが足りないゆえに話題になることもない。しかし、これら非モテ系のAPIも含めてHTML5だ。 本セッションでは、ありきたりのモテ系APIに飽きたマニアな貴方のために、普段は陽の当たらないAPIを一挙紹介する。もちろん、どれかのブラウザーに実装されているAPIのみだ。今から使おうと思えば使えないことはない。そして、W3Cにて仕様策定が始まって日が浅いため、明日にはどうなるか分からない。無くなるかもしれないし、大幅に変更されてしまうかもしれない。今覚えても役に立たないかもしれないし、役に立つかもしれない。そんなスリリングなAPIを知ってこそマニアなのだ。 ようこそ、HTML5裏APIの世界へ。

TRANSCRIPT

Page 1: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

2013 11 30

@futomi futomi.hatano

http://www.html5.jp/

HTML5 Conference 2013

Page 2: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 3: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

• • 1 HTML5 Web API

• 2 HTML5 Web API

• W3C API •

API

• 2013 1

Page 4: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 5: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

API

• ( )

Page 6: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

写真:http://www.bridalguide.com/planning/engagement/rock-climbing-engagement-photos

API

• ...

HTML5

API

Page 7: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

1

Page 8: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

WebRTC DTMF

Page 9: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

WebRTC

• Skype

• / /

• IP

• ( ) ( )

Page 10: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Peer-to-peer DTMF

• Dual-Tone Multi-Frequency

• 0 9 A D * # 16

• 2

• Audio Channel

• IVR

• Interactive Voice Response

Page 11: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

//

//

// RTCDTMFSender

createDTMFSender

// (100ms 50ms )

insertDTMF

Page 12: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 13: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

WebAudio API PannerNode

Page 14: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Web Auido API

• iOS

• gUM

Page 15: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Page 16: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 17: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Page 18: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Media Source Extensions

Page 19: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

MSE

• HTTP

• videoAPI

• •

Page 20: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

MPEG-DASH

• Dynamic Adaptive Streaming over HTTP

• HTTP Adaptive Streaming

• XML • MPD Media Presentation Description

Page 21: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 22: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

MPD <?xml version="1.0"?>

<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500000S" ...>

...

<Period id="" duration="PT0H0M33.00S">

<AdaptationSet segmentAlignment="true" maxWidth="854" maxHeight="480"

maxFrameRate="12800/510" par="854:480">

...

<Representation id="1" mimeType="video/mp4" codecs="avc1.4d4029,mp4a.40.2"

width="854" height="480" frameRate="12800/510" sar="1:1"

audioSamplingRate="48000" startWithSAP="0" bandwidth="1639763">

<AudioChannelConfiguration .../>

<SegmentList timescale="1000" duration="1215">

<Initialization sourceURL="movie_segmentinit.mp4"/>

<SegmentURL media="movie_segment1.m4s"/>

<SegmentURL media="movie_segment2.m4s"/>

...

Page 23: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

http://gpac.wp.mines-telecom.fr/mp4box/dash/

GPAC MP4Box

Page 24: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 25: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Media Capture and Streams screen capture

Page 26: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 27: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

//

//

{ video: { mandatory: { chromeMediaSource: "screen" } } }//

//

// SSL PermissionDeniedError

Page 28: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

2

Page 29: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Encoding

Page 30: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

• • ArrayBufferView

• • UTF-8, UTF-16LE, UTF-16BE

ArrayBufferView

Page 31: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

// Shift_JIS Uint8Array

// ArrayBufferView (" ")

// Shift_JIS TextDecoder

//

//

//

Page 32: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

// UTF-8 TextDecoder

// UTF-8

// Uint8Array ArrayBufferView

// 16

// "e3 81 82 e3 81 84 e3 81 86 e3 81 88 e3 81 8a"

Page 33: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Web Cryptography API

Page 34: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

• (SHA-256, SHA-384, etc.)

Page 35: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

//

// Crypto

//

// CryptoOperation

//

Page 36: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

DOMMatrix interface

Page 37: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

• 3x3, 4x4

• , , , ,

• element.style.transform

Page 38: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

//

DOMMatrix

// Chrome, Opera, Safari

WebKitCSSMatrix// IE10

MSCSSMatrix

DOMMatrix

Page 39: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 40: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Transferable objects

Page 41: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

//

//

// buffer

Page 42: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Transferable

// Transferable

//

[buffer]

// buffer

//

Page 43: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

3

Page 44: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Clipboard API and events

Page 45: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

document copy

document cut

document paste

Page 46: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

// Internet Explorer

// DataTransfer

//

// Internet Explorer

// DataTransfer

//

Page 47: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Base64 utility methods

Page 48: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Base64

• ASCII

• NG

// ASCII Base64

// "VGhpcyBpcyBhIHN0cmluZy4="

// Base64 ASCII

// "This is a string."

Page 49: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

4

Page 50: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

The Screen Orientation API

Page 51: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

• • Fullscreen

Page 52: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

window.screen.addEventListener("mozorientationchange",

function(event) { //

var ori = window.screen.mozOrientation;

...

},

false);

Page 53: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

mozFullScreenEnabled

mozRequestFullScreen()

mozfullscreenchange

mozFullScreenElement

window.screen.mozLockOrientation("landscape");

Page 54: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

MediaStream Recording

Page 55: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

• Media Capture and Streams

Blob

• Firefox Aurora

Page 56: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

//

MediaRecorder

//

//

// Blob

// audio

Page 57: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

Web Animations 1.0

Page 58: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

• CSS SVG Animations

Page 59: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

web-animations-js

Page 60: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

// img

// AnimationEffect

// TimingInput

// Animation

// Player

Page 61: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

SVG

// SVG path

// SVGPathSegList

// PathAnimationEffect

Page 62: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

// Animation

// parGroup

ParGroup// Player

Page 63: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

// Animation

// SeqGroup

SeqGroup// Player

Page 64: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013
Page 65: ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013

@futomi futomi.hatano

http://www.html5.jp/

http://bit.ly/html5C201311