59
ブブブブブブブブブブ Web ブブブ HTML5 ブブブブブブ ブブブブ ブブブブブブブブ ブブ ・・ ブブ ブブ

ブラウザから飛び出すWeb技術とHTML5

Embed Size (px)

DESCRIPTION

Android Bazaar and Conference 2014 Spring 開発(秋葉原ダイビル5F 5C T4 ブラウザから飛び出すWeb技術とHTML5【html5jコラボセッション】

Citation preview

Page 1: ブラウザから飛び出すWeb技術とHTML5

ブラウザから飛び出すWeb 技術と HTML5

日本オープン・ウェブ・アソシエーション 理事若狭 正生

Page 2: ブラウザから飛び出すWeb技術とHTML5

自己紹介若狭 正生(わかさ まさお)@wks

• 日本オープン・ウェブ・アソシエーション 理事

• html5j スタッフ / html5j TV 部 部長 / OSGeo 財団日本支部 運営委員 / CodeForJapan コアグループ所属 / アカデミーキャンプ スタッフ

Page 3: ブラウザから飛び出すWeb技術とHTML5

• 毎月 100 人規模の勉強会を開催• 11/30 に 2000 人規模のカンファレンスを

開催• W3C や総務省と連動して活動をしている

html5j とは?

Page 4: ブラウザから飛び出すWeb技術とHTML5

2013 年 5 月 28 日第 39 回 HTML5 とか勉強会 + 日本 Android の会 2013 年 5 月定例会

Android の会と共催

Page 5: ブラウザから飛び出すWeb技術とHTML5

HTML5 Japan Cup やります

最優秀賞( 1 作品) : 100 万円優秀賞 : ( 3 作品) 20 万円

http://5jcup.org/

Page 6: ブラウザから飛び出すWeb技術とHTML5

アジェンダ

–  Web 技術の表現力– 通信技術の進化– ブラウザから飛び出す Web 技

Page 7: ブラウザから飛び出すWeb技術とHTML5

※ 注意

今回のプレゼンでの Web の技術とはJavaScript や HTML 、通信など ”元々ブラウザ上で動いていたもの” という意味で使っています。ちょっと表現が極端な部分がありますのでご了承ください。

Page 8: ブラウザから飛び出すWeb技術とHTML5

Web 技術の表現力

HTML5 など仕様による表現方法が強化されている。レイアウトも含め更新性が高い。デザイナとプログラマの境目が、いい意味で曖昧で共存している。

Page 9: ブラウザから飛び出すWeb技術とHTML5

Web 技術の範囲 ( 数年前 )

OS

ブラウザ

Web 技術アプリ

コンテンツ

Page 10: ブラウザから飛び出すWeb技術とHTML5

Web 技術の範囲 ( 現状 )

OS

ブラウザ

Web 技術

アプリ

コンテンツ

Page 11: ブラウザから飛び出すWeb技術とHTML5

HTML5 の機能

SemanticsOffline & StorageMultimedia3D, Graphics & EffectsConnectivityDevice AccessPerformance & IntegrationStyling (CSS3)

Page 12: ブラウザから飛び出すWeb技術とHTML5

Offline & Storage

• Application Cache … オフラインアプリケーション• Web Storage … 簡易易ローカルストレージ• Indexed Database … KVS 型のローカルデータベース• File APIs … ファイルの読み書き• File System API … アプリから利利⽤⽤できるファイ

ル領領域• online/offline events … オン / オフライン状態の把握

Page 13: ブラウザから飛び出すWeb技術とHTML5

Offline & Storage

https://drive.google.com/

Page 14: ブラウザから飛び出すWeb技術とHTML5

Offline & Storage

http://html5-demos.appspot.com/static/navigator.onLine.html

Page 15: ブラウザから飛び出すWeb技術とHTML5

Multimedia

• video/audio … 動画 / ⾳⾳楽再生生• WebVTT … 字幕・トラック情報を追加• Web Audio API … ⾳⾳声処理理・合成• HTML Media Capture … メディアの取込み

Page 16: ブラウザから飛び出すWeb技術とHTML5

Multimedia

http://craftymind.com/factory/html5video/CanvasVideo.html

Page 17: ブラウザから飛び出すWeb技術とHTML5

Multimedia

http://www.htmlfivewow.com/demos/audio-visualizer/index.html

Page 18: ブラウザから飛び出すWeb技術とHTML5

Graphics, 3D & Effects

• Canvas … 2D グラフィックス• WebGL … 3D グラフィックス• SVG … ベクターグラフィックス

Page 19: ブラウザから飛び出すWeb技術とHTML5

Graphics, 3D & Effects

http://helloracer.com/webgl/

Page 20: ブラウザから飛び出すWeb技術とHTML5

Graphics, 3D & Effects

http://cyberjapandata.gsi.go.jp/3d/http://headlines.yahoo.co.jp/videonews/fnn?a=20140320-00000120-fnn-soci

Page 21: ブラウザから飛び出すWeb技術とHTML5

Graphics, 3D & Effects

http://www.youtube.com/watch?v=cWIRUaR9G4w

Page 22: ブラウザから飛び出すWeb技術とHTML5

Realtime / Connectivity

• WebSocket … リアルタイム双方方向通信• Server Sent Events … ‑ サーバープッシュ可能な通信(ロン

グポーリング /Comet を仕様化)• Web Messaging … Web ページ間のメッセージ交換• XMLHttpRequest Level2 … クロスドメイン通信やバイナリ

データが送れるように• Notifications … デスクトップに通知• WebRTC … ⾳声 / 動画でリアルタイムコミュニケーショ

ンを行う

Page 23: ブラウザから飛び出すWeb技術とHTML5

Realtime / Connectivity

https://appear.in/abchtml5j

Page 24: ブラウザから飛び出すWeb技術とHTML5

Realtime / Connectivity

https://app.html5experts.jp/manga/

Page 25: ブラウザから飛び出すWeb技術とHTML5

Realtime / Connectivity

http://my-hi.net/

Page 26: ブラウザから飛び出すWeb技術とHTML5

Device Access

• Geolocation API … GPS 情報を取得• Web Speech API… ⾳声入力• Device Orientation … デバイスの向きや傾きを取

得• Contacts API … アドレス帳へのアクセス• Calendar API … カレンダー情報の取得• Battery Status API … バッテリーの状態を取得• Network Information API … 通信環境の情報を取得• USB, Bluetooth など

Page 27: ブラウザから飛び出すWeb技術とHTML5

Device Access

http://www.mrdoob.com/projects/chromeexperiments/google-gravity/

Page 28: ブラウザから飛び出すWeb技術とHTML5

Device Access

https://www.google.com/intl/ja/chrome/demos/speech.html

Page 29: ブラウザから飛び出すWeb技術とHTML5

Styling (CSS3)

• CSS3 Selectors … :first child/:nth child(odd)‑ ‑ など、便利な擬似クラスなどが増えた

• border radius … ‑ 角が丸く!• text shadow/box shadow … ‑ ‑ 影がつく!• gradient … グラデーション• Webfonts … 外部フォントを扱えるように• Transforms … 変形• Transitions/Animations … CSS だけでアニメー

ションが可能

Page 30: ブラウザから飛び出すWeb技術とHTML5

Styling (CSS3)

http://slides.html5rocks.com/#rounded-corners

Page 31: ブラウザから飛び出すWeb技術とHTML5

Styling (CSS3)

http://lea.verou.me/css3patterns/

Page 32: ブラウザから飛び出すWeb技術とHTML5

実装状況• ただし、すべての機能がすべてのブラウザ

で実装されてるとは限りません。

http://caniuse.com/

Page 33: ブラウザから飛び出すWeb技術とHTML5

通信技術の進化

TCP/IP が考えられて長く経つが、未だ現役で昔と変わらない使われ方をしている。Web が進化しても基盤が古いままという矛盾。。そこも変わりつつある。

Page 34: ブラウザから飛び出すWeb技術とHTML5

HTTP/1.1

Browser Server

つないでいいですか?

いいですよ!これください。

どうぞ!届きました!!

では切ります。

Page 35: ブラウザから飛び出すWeb技術とHTML5

SPDY

• 1回に1つではなく、1回のコネクション中に大量にデータを入れることで、オーバーヘッドを削減

• HTTP2.0 のベースとして利⽤されているつないでいいですか?

いいですよ!これとこれとこれと ..

どうぞ!届きました!!

では切ります。

Page 36: ブラウザから飛び出すWeb技術とHTML5

Websocket

• 1回つないだらそれを切断せず使い続ける• チャットのような双方向通信などに利⽤される

つないでいいですか?いいですよ!

これどうぞ

これどうぞ

終わりました!

では切ります。

これどうぞ

これどうぞ

Page 37: ブラウザから飛び出すWeb技術とHTML5

WebRTC

• ブラウザ間で P2P の通信ができる

Browser Browser

Server

Browser Browser

Server

Page 38: ブラウザから飛び出すWeb技術とHTML5

Browser Server

MPTCP

• 複数の回線を使って通信を行う• iOS7 ではサポート済み

Wi-fi

3G

Page 39: ブラウザから飛び出すWeb技術とHTML5

放送波を利⽤した通信• V-Low / ハイブリッドキャスト ( データ放

送 )• マルチキャスト配信による輻輳が無い• 大量アクセスのクッションとして利⽤

データ

映像

Page 40: ブラウザから飛び出すWeb技術とHTML5

ブラウザから飛び出す Web 技術

Web 技術=ブラウザ上でアクセスするもの。そういうものだったはず。だが、今やブラウザの垣根を越えて広範囲で使われ始めている。

Page 41: ブラウザから飛び出すWeb技術とHTML5

• Windows8アプリ• ChromeApps• FirefoxOS• Tizen• スマートフォンアプリ (PhoneGap等 ) and more..

アプリケーションとWeb技術

Page 42: ブラウザから飛び出すWeb技術とHTML5

アプリケーションとWeb技術

Windows8アプリ

参考 http://www.atmarkit.co.jp/fdotnet/special/ie10review01/ie10review01_01.html

Page 43: ブラウザから飛び出すWeb技術とHTML5

アプリケーションとWeb技術

FirefoxOS

ネイティブアプリ (例えば電話アプリ )でさえもWeb技術で作られている。

Page 44: ブラウザから飛び出すWeb技術とHTML5

• Nintendo Web Framework• Unity ( WiiU & Playstation & Xbox ) and more..

ゲーム機と Web 技術

Page 45: ブラウザから飛び出すWeb技術とHTML5

ゲーム機と Web 技術• Nintendo Web Framework

参考 http://www.4gamer.net/games/032/G003263/20130328113/

Page 46: ブラウザから飛び出すWeb技術とHTML5

カーナビとWeb技術

• Apple• 富士通テン• Tizen IVI• Genivi• Webinos• QNX and more..

Page 47: ブラウザから飛び出すWeb技術とHTML5

カーナビとWeb技術

富士通テン

参考 http://www.nikkan.co.jp/news/nkx0420131025beai.html

Page 48: ブラウザから飛び出すWeb技術とHTML5

カーナビとWeb技術

Tizen IVI

参考 https://www.youtube.com/watch?v=HN2qL_meAek

Page 49: ブラウザから飛び出すWeb技術とHTML5

テレビとWeb技術

• Hybridcast• SmartTV• OperaTV and more..

Page 50: ブラウザから飛び出すWeb技術とHTML5

テレビとWeb技術

Sony BRAVIA (Opera TV Store)

参考 http://www.sony-mea.com/TVP-LCD-TV/feature/Sony-Entertainment-Network/498176

Page 51: ブラウザから飛び出すWeb技術とHTML5

テレビとWeb技術

Hybridcast

http://www.nhk.or.jp/hybridcast/online/http://www.huffingtonpost.jp/osamu-sakai/3_10_b_4894449.html

Page 52: ブラウザから飛び出すWeb技術とHTML5

電子書籍とWeb技術

• EPUB• Kindle Cloud Reader• Kobo Cloud Reader

Page 53: ブラウザから飛び出すWeb技術とHTML5

電子書籍とWeb技術

• EPUB• Kindle Cloud Reader• Kobo Cloud Reader

ブラウザがそのまま電子書籍として使える。Web技術が使えるデバイスとならば連動と利便性を考え利用されている。-> PCで 10ページまで見たら スマートフォンで自動的に 10ページから読める

Page 54: ブラウザから飛び出すWeb技術とHTML5

遠隔操作とWeb技術

• LiveShell• ガラポン TV• ChromeCast

Page 55: ブラウザから飛び出すWeb技術とHTML5

• LiveShell• ガラポン TV• ChromeCast

遠隔操作とWeb技術

本体にはほぼ操作する部分が存在しないリアルタイム通信をWebの標準技術のWebsocketやWebRTCを用いて実装-> UI部分は容易に作れるWeb画面を使う-> スマートフォンなどの機器からも操作可能

Page 56: ブラウザから飛び出すWeb技術とHTML5

サーバサイドでの Web 技術• Node.js

サーバサイドも JavaScriptで開発Websocket容易に利用したり、ブラウザと相性が非常によく出来ている。

Page 57: ブラウザから飛び出すWeb技術とHTML5

自作組込み機器での Web 技術• IRKit• Raspberry Pi + Node.js

Page 58: ブラウザから飛び出すWeb技術とHTML5

自作組込み機器での Web 技術• サーバ化させ XHR や WebSocket で接続し

いろんな物をコントロール• Raspberry Pi と BLE をつなげたりすると、

リアルな物から簡単にブラウザにイベントを送れる。 http://qiita.com/Morikuma_Works/items/c2899e548da1c5e2c28e

Page 59: ブラウザから飛び出すWeb技術とHTML5

まとめ• Web技術がWebだけで利用するだけのものでもなくなっている。

• Web技術をベースとした JavaScriptやHTMLの一つの経験が、そのままアプリや組込みなど幅広く、かつ普通に使える時代に。

• 今後、気付かないうちにブラウザベースであったWeb 技術を使っている事になっていくのではないか?