78

[okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Embed Size (px)

Citation preview

Page 1: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 2: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

HTML5 で人気の API を使って未来価値を創造しよう

第 26 回 岡山 WEB クリエイターズ × HTML5 fun

KDDI ウェブコミュニケーションズ阿部 正幸

Page 3: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

● ACE01 / SmartRelease プロダクトマネージャー● CPI エバンジェリスト 統括● KDDI ウェブ 公認 CPI スタッフブログ 編集長● Drupal(g.d.o Japan) 日本コミュニティー● 日本ディレクション協会 講演部● HTML5 Fun 理事

OSS を広げる活動、 Web 制作に関する情報発信を行う

神戸生まれ、横浜育ち阿部 正幸(あべ まさゆき)

ディレクタープログラマー プロマネ エバンジェリスト

Page 4: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

取り扱っていません

VentureSince 1998

Web Service

Hosting

取り扱っていません

Page 5: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Web 制作を 『超ラク』 にする

http://www.cpi.ad.jp/shared/smartrelease/

Page 6: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 7: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 8: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 9: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

マークアップ言語「 HTML 」の 5 回目にあたる改訂版

厳密には

一般的には

HTML5 とは

CSS3 、 JavaScript 、 HTML5などを利用したリッチなサイト構築のための技術の総称

Page 10: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

HTML5 が注目される理由

Page 11: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

制作単価の下落

Page 12: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

10 年、 20 年、 100 年、生き残るために

Page 13: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

新しい価値を創造する

Page 14: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 15: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

3 分で「今」をつかむ

Page 16: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 17: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

モチベーションをキープ。ゴールにチャレンジ。

友達と競争。

新しいラン体験がはじまる

Page 18: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

注目を集めるサービスには必ず

新しい価値がある

Page 19: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

HTML5 が注目される理由

● ビデオ / オーディオ

● リッチなコンテンツ

● Web アプリケーション

新しい価値に必要

Page 20: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

そこで今日は

新しい価値になるような

JavaScript ライブラリをご紹介

Page 21: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

1 つめ

HTML5 でも人気の API

Page 22: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

● Geolocation

● Web Storage

● ファイル API

● Indexed Database

● Web Sockets

● Web Workers

● Canvas

一つめ: HTML5 でも人気の API

Page 23: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

● Geolocation

● Web Storage

● ファイル API

● Indexed Database

● Web Sockets

● Web Workers

● Canvas

一つめ: HTML5 でも人気の API

Page 24: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Geolocation API

Page 25: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Geolocation API

WiFi 携帯電話基地局、 GPS 、 IP アドレスなどから位置情報を取得する。

Page 26: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

// ユーザーの現在の位置情報を取得navigator.geolocation.getCurrentPosition( successCallback, errorCallback);

// ユーザーの現在の位置情報を取得function successCallback(position) { // 緯度 position.coords.latitude // 経度 position.coords.longitude // 高度 position.coords.altitude // 緯度・経度の誤差 position.coords.accuracy // 高度の誤差 position.coords.altitudeAccuracy // 方角 position.coords.heading // 速度 position.coords.speed}

Geolocation API

Page 27: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 28: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 29: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Google Map API V3 +

Geolocation API

Page 30: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

http://shared-blog.kddi-web.com/test/gmapv3/gmap-sample.html

Page 31: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

つぎも、 HTML5 で人気の API

Page 32: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

● Geolocation

● Web Storage

● ファイル API

● Indexed Database

● Web Sockets

● Web Workers

● Canvas

二つめ: HTML5 でも人気の API

Page 33: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Web Storage

Page 34: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

IE8 以上で利用可能。

アプリケーションで利用するデータをユーザーのローカル環境に保存できる

Cookie との違い

データ量の上限: 4KB 5MB

Web Storage

Page 35: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

● 電波が無くてもアプリケーションが利用できる

● 通信の回数が減らせる

● 高速に動作

メリット

オフライン Web アプリケーションの構築が可能に

Web Storage

Page 36: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

// 変数 storage に sessionStorage を格納var storage = sessionStorage;

//userid キーに 1111 を割り当てて保存storage.setItem('userid', '1111');

//userid キーの値を取得するstorage.getItem('userid');

//userid キーの値を削除するstorage.removeItem('userid');

// ストレージに保存されているデータをクリアするstorage.clear();

Web Storage

Page 37: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

// 変数 storage に sessionStorage を格納var storage = sessionStorage;

//userid キーに 1111 を割り当てて保存storage.setItem('userid', '1111');

//userid キーの値を取得するstorage.getItem('userid');

//userid キーの値を削除するstorage.removeItem('userid');

// ストレージに保存されているデータをクリアするstorage.clear();

Web Storage

手軽に実装可能

Page 38: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

File API :ローカルのファイルを操作

Indexed Database :ブラウザ側上で利用できるデータベース

その他にも

Page 39: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

次は

少し地味だけど、可能性が広がる API

Page 40: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 41: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Web Speech APIvar recognizing;var recognition = new webkitSpeechRecognition();

recognition.lang = “ja-JP"; // 言語の選択

recognition.start(); //音声認識開始recognizing = true; //speech の開始 (abort method)

recognition.onresult = function (event) { console.log(event.results); // コンソールログに出力}

//音声認識終了recognition.stop();//speech の終了 (abort method)recognizing = false;

Page 42: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

http://shared-blog.kddi-web.com/test/webspeech/webspeechapi.html

Page 43: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

次は、少し未来の API

Page 44: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 45: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

WebRTC (Web Real-Time Communication) とはW3C が提唱するリアルタイムコミュニケーション用の API の定義で、プラグイン無しでウェブブラウザ間のボイスチャット、ビデオチャット、ファイル共有ができる。

- Wikipedia より引用 -

Page 46: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

従来の通信方式

● レスポンス問題 (HTTP/1.1)● サーバーコスト問題

Page 47: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

● P2P でユーザー同士がダイレクトに通信● サーバー費を安く抑えられる

Page 48: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

を実装

Page 49: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 50: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Ntt Communications が peer.js を元に開発した

WebRTC アプリ開発用 JavaScript ライブラリ

Page 51: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

<script src="https://skyway.io/dist/0.3/peer.js"></script>● JS読み込む

var peer = new Peer('pick-an-id', {key: 'myapikey'}); ● Peer の生成(自動で id が発番される)

var conn = peer.connect('another-peers-id');conn.on('open', function(){ conn.send('hi!');});

● 他ユーザーに接続し、メッセージ送信

peer.on('connection', function(conn) { conn.on('data', function(data){ // Will print 'hi!' console.log(data); });});

● メッセージ受信

Page 52: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

<script src="https://skyway.io/dist/0.3/peer.js"></script>● JS読み込む

var peer = new Peer('pick-an-id', {key: 'myapikey'}); ● Peer の生成(自動で id が発番される)

var conn = peer.connect('another-peers-id');conn.on('open', function(){ conn.send('hi!');});

● 他ユーザーに接続し、メッセージ送信

peer.on('connection', function(conn) { conn.on('data', function(data){ // Will print 'hi!' console.log(data); });});

● メッセージ受信

手軽に実装可能

Page 53: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Demo

http://bit.ly/peertest

Page 54: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

を使ったサービス

Page 55: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 56: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 57: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 58: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

この技術が何に使えるのか?

Page 59: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

老若男女問わず、全てのユーザーに売りたい

Page 60: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

少し敷居が高い

Page 61: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

×−

なにかお困りでしょうか

Page 62: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

http://www.sonymusic.co.jp/Music/Info/miwa/haru/

Page 63: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 64: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

UI / UX のための HTML5

RWD といって何を想像しますか

Page 65: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 66: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

Ambient Light Events

window.addEventListener('devicelight',

function(event) { console.log('lux='+event.value);},false);

環境光を取得する環境に合わせた UI の設計が可能

Page 67: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

http://shared-blog.kddi-web.com/test/light/light.html

Page 68: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

http://shared-blog.kddi-web.com/test/js-event/js.event.html

HTML5 で追加になったWindow Event ハンドラまとめ

Page 69: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

さいごに

Page 70: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

今まであった技術でも実現可能では、なぜ注目されるのか

新しい価値

● 今後制作単価は下落する

● 制作単価を上げるために新しい価値が必要

Page 71: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

開発の敷居を下げた

アイデアがあれば、誰でも参入可能

Page 72: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

今後の制作者は

SVG

Canvas

Web Storage

Geolocation Web Workers

WebSocket

Page 73: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

今後の制作者は

SVG

Canvas

Web Storage

Geolocation Web Workers

WebSocket

全てを使える必要は無いがどんなことができるかは知っておく必要がある

Page 74: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

さまざまなプロダクトを知り

新しい価値を創造

Page 75: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 76: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Page 77: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

このようなサイトをチェックしていると良いかも

Page 78: [okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう

ご清聴ありがとうございました

ID : chiyo.abe阿部 正幸