SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
Google I/O 2014サマリー
agektmr@の代理のtakoratta@
Google I/Oとは
ご存知だと思うので、駆け足で。
Google Confidential and Proprietary
Google I/O 2014
● 6月25日、26日にサンフランシスコで開催
● 約6,000人が参加
● 約75のセッション
Google Confidential and Proprietary
Google Confidential and Proprietary
Google Confidential and Proprietary
Google Confidential and Proprietary
Google Confidential and Proprietary
Google Confidential and Proprietary
Google Confidential and Proprietary
Google Confidential and Proprietary
Questions ?
Ok, now go build something awesome!
https://plus.google.com/u/0/+AkihitoFujii/posts/Lyu5wRYHd9d?pid=6029333485917463794&oid=104976800917577721821
Google Confidential and Proprietary
Google Confidential and Proprietary
Google I/Oの基調講演を現地で参加出来ない開発者の方が
ライブストリームで見れるイベントを世界中で開催
Google Confidential and Proprietary
Google I/Oでの
HTML5関連のセッション
いくつか紹介
Google Confidential and Proprietary
Chrome/HTML5関連の話
● Perf Culture
● Polymer and the Web Components revolution
● Polymer and Web Components change everything you know about
Web development
● Bridging the gap between the web and apps
● How we built Chrome Dev Editor with the Chrome platform
● Making the mobile web fast, feature-rich, and beautiful
● Mobile Web performance auditing
● Making music mobile with the Web
● Developing across Devices - Chrome DevTools in 2014
Google Confidential and Proprietary
Chrome/HTML5関連の話
● Perf Culture
● Polymer and the Web Components revolution
● Polymer and Web Components change everything you know about
Web development
● Bridging the gap between the web and apps
● How we built Chrome Dev Editor with the Chrome platform
● Making the mobile web fast, feature-rich, and beautiful
● Mobile Web performance auditing
● Making music mobile with the Web
● Developing across Devices - Chrome DevTools in 2014
次の2つのセッションをお聴き
ください。
Polymer
Web Components
Google Confidential and Proprietary
Chrome/HTML5関連の話
● Perf Culture
● Polymer and the Web Components revolution
● Polymer and Web Components change everything you know about
Web development
● Bridging the gap between the web and apps
● How we built Chrome Dev Editor with the Chrome platform
● Making the mobile web fast, feature-rich, and beautiful
● Mobile Web performance auditing
● Making music mobile with the Web
● Developing across Devices - Chrome DevTools in 2014
ServiceWorker
Google Confidential and Proprietary
Chrome/HTML5関連の話
● Perf Culture
● Polymer and the Web Components revolution
● Polymer and Web Components change everything you know about
Web development
● Bridging the gap between the web and apps
● How we built Chrome Dev Editor with the Chrome platform
● Making the mobile web fast, feature-rich, and beautiful
● Mobile Web performance auditing
● Making music mobile with the Web
● Developing across Devices - Chrome DevTools in 2014
Chrome Dev Editor
Google Confidential and Proprietary
Chrome/HTML5関連の話
● Perf Culture
● Polymer and the Web Components revolution
● Polymer and Web Components change everything you know about
Web development
● Bridging the gap between the web and apps
● How we built Chrome Dev Editor with the Chrome platform
● Making the mobile web fast, feature-rich, and beautiful
● Mobile Web performance auditing
● Making music mobile with the Web
● Developing across Devices - Chrome DevTools in 2014
DevTools
Bridging the gap between
the web and apps
オフラインファースト ServiceWorker
Google Confidential and Proprietary
話者
Google Confidential and Proprietary
I/O Bytes - The ServiceWorker: The network layer is yours
to own
Google Confidential and Proprietary
動機
Google Confidential and Proprietary
ネットワークの効率的な活用
Google Confidential and Proprietary
オフラインって言っても
Google Confidential and Proprietary
完全にオフライン
という場合だけではなくて
Google Confidential and Proprietary
不安定(辺境の地とか)
Google Confidential and Proprietary
しょっちゅう切れる
(お金のない地下鉄とか)
Google Confidential and Proprietary
なぜかわからないけど
自分だけつながらない
(呪われているとか)
Google Confidential and Proprietary
とか、あるわけですが、
Google Confidential and Proprietary
今はそのような異なる状況に
対応したWebアプリを書くのがとても難しい
Google Confidential and Proprietary
ネイティブアプリの振る舞い
ネットワーク接続が必要なアプリであったとしても、
● キャッシュからリソースをフェッチし、即座に表示
● その間/その後すぐにネットワークに接続
● たとえ、ネットワークに接続できなかったとしても、ユーザーに気づかせ
ないで動作するアプリさえある(=ユーザーの操作を邪魔しない)
Google Confidential and Proprietary
オフラインファースト
Google Confidential and Proprietary
Application Cache (AppCache) というものがありますが、
Google Confidential and Proprietary
Google Confidential and Proprietary
AppCacheの問題点
● 複雑
● きめ細かい処理が不得手
● JavaScriptからの制御が面倒
Google Confidential and Proprietary
Google Confidential and Proprietary
ServiceWorker
● 高度なオフライン機能
● WebサイトからインストールされたJavaScriptが独立したWorkerスレッ
ドとして動作し、Webサイトからのイベントハンドリングを実現
○ Webページを閉じてもバックグラウンドで動作
○ ただし、HTTPSが必須
● 頭の良い(+JSから制御可能な)“In-browser HTTP proxy”
Google Confidential and Proprietary
ServiceWorker
Browser
ServiceWorker Caches
Page PagePage
Internet
Google Confidential and Proprietary
インストール(アプリ側 / app.js)
if (‘serviceWorker’ in navigator) {
navigator.serviceWorker.register(
‘/trained-to-thrill/static/js/sw.js’,
{scope: ‘/trained-to-thrill/*’}
).then(success, failure);
}
Google Confidential and Proprietary
sw.jsの役割
Browser
ServiceWorker Caches
Page PagePage
Internet
● 別スレッドで動作
● DOMアクセスは無し
● ページとは独立した処理を
行う
● ローディングの制御
● 1つのServiceWorkderで複
数のページの制御が可能
● キャッシュの制御
頭の良い(+JSから制御可能な)“In-browser HTTP proxy”
Google Confidential and Proprietary
インストール(ServiceWorker側 / sw.js)
this.addEventListener('install', function
(event) {
event.waitUntil(somePromise);
});
Google Confidential and Proprietary
インストール(ServiceWorker側 / sw.js)
this.addEventListener('install', function(event) {
event.waitUntil(
caches.create('static-v1').then(function(cache) {
return cache.add({
‘/trained-to-thrill/’,
‘/trained-to-thrill/fallback.html’,
‘/trained-to-thrill/static/all.css’,
‘/trained-to-thrill/static/all.js’,
‘/trained-to-thrill/static/lego.svg’
});
})
);
});
Google Confidential and Proprietary
Fetchイベントの処理(ServiceWorker側 / sw.js)
this.addEventListener('fetch’, function(event) {
console.log(event.request);
});
i.e)
event.request.url
event.request.method
event.request.headers
Google Confidential and Proprietary
Fetchイベントの処理(ServiceWorker側 / sw.js)
this.addEventListener('fetch’, function(event) {
event.respondWith(response);
});
Google Confidential and Proprietary
Fetchイベントの処理(ServiceWorker側 / sw.js)
this.addEventListener('fetch’, function(event) {
event.respondWith(
new Response(‘Hello ServiceWorker!’)
);
});
Google Confidential and Proprietary
キャッシュの利用(ServiceWorker側 / sw.js)
this.addEventListener('fetch’, function(event) {
event.respondWith(
caches.match(event.request)
);
});
Google Confidential and Proprietary
キャッシュの利用(ServiceWorker側 / sw.js)
this.addEventListener('fetch’, function(event) {
event.respondWith(
caches.match(event.request).catch(function()
return event.default();
})
);
});
Google Confidential and Proprietary
キャッシュの利用(ServiceWorker側 / sw.js)
this.addEventListener('fetch’, function(event) {
event.respondWith(
caches.match(event.request).catch(function()
return event.default();
}).catch(function() {
return caches.match(
‘/trained-to-thrill/fallback.html’);
...
Google Confidential and Proprietary
AppCacheで同じことを行った場合
CACHE MANIFEST
/trained-to-thrill/static/all.css
/trained-to-thrill/static/all.js
/trained-to-thrill/static/lego.svg
NETWORK:
*
FALLBCK:
/trained-to-thrill/fallback.html
Google Confidential and Proprietary
AppCacheで同じことを行った場合
CACHE MANIFEST
/trained-to-thrill/static/all.css
/trained-to-thrill/static/all.js
/trained-to-thrill/static/lego.svg
NETWORK:
*
FALLBCK:
/trained-to-thrill/fallback.html
Google Confidential and Proprietary
ネットワークの接続状況に応じた処理
navigator.onLineに頼らない、ServiceWorkerによるキャッシュの有効活用
が必要。
Google Confidential and Proprietary
参考資料
ブラウザの対応状況 → is ServiceWorker ready?
Chromiumプロジェクトページ → http://www.chromium.
org/blink/serviceworker
How we built Chrome Dev Editor with
the Chrome platform
Chrome Dev Editor (CDE)
Google Confidential and Proprietary
Google Confidential and Proprietary
Google Confidential and Proprietary
Chrome Dev Editor
● Dart / Polymerで開発されたChrome上で動作するエ
ディタ
● Chrome Webストアから入手可能
● オープンソース
○ https://github.com/dart-lang/chromedeveditor/
● Gitとの連携可能
○ git clone
○ git branch
○ git checkout
○ など
● ダイレクトモバイルデバッグ
Google Confidential and Proprietary
Chrome Dev Editor
● Dart Webアプリ、JavaScript Webアプリ、
JavaScript/Polymer Webアプリ、Web
Starter Kit, JavaScript Chromeアプリ、
JavaScript Polymer CustomElementの開
発が可能(テンプレートが用意されている)
● 作成したChrome WebアプリをChrome
Webストアに登録可能
● ビルトインWebサーバー
● マークダウンプレビュー
Developing across Devices - Chrome
DevTools in 2014
DevTools
Google Confidential and Proprietary
モバイルWeb開発に役立つ!Chrome DevToolsの
新機能「デバイスモード」 | HTML5Experts.jp
Graphic by Luke W. Used with permission.
Google Confidential and Proprietary
Design Develop Iterate
Google Confidential and Proprietary
Design Responsive Layout
Google Confidential and Proprietary
Develop Rich Emulation
Google Confidential and Proprietary
Iterate Remote Debugging
Google Confidential and Proprietary
•Plug & Play
•Same powerful features
•Screencast your device
•Port forwarding
· for local development
•Device Presets for most
popular devices
•Rich viewport emulation
•Sensor emulation
· Touch, Geolocation,
Accelerometer
•Network throttling and
offline
•Rich representation of
media queries
•Style filtering
•Media query editing
•Plays well with inline
emulation
Responsive layouts Rich Emulation Remote debugging
Google Confidential and Proprietary
Google I/O
THANK YOU

Contenu connexe

Tendances

Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!一希 大田
 
HTML5 開発環境の紹介
HTML5 開発環境の紹介HTML5 開発環境の紹介
HTML5 開発環境の紹介tomo_masakura
 
20150729 polymer超入門
20150729 polymer超入門20150729 polymer超入門
20150729 polymer超入門Kazuyoshi Goto
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeomantomo_masakura
 
GDG Women DevfestW
GDG Women DevfestWGDG Women DevfestW
GDG Women DevfestWTomoko Sato
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発tomo_masakura
 
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶWord press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶclimbFrog
 
オープンソースで始めるオフラインアプリケーション開発入門
オープンソースで始めるオフラインアプリケーション開発入門オープンソースで始めるオフラインアプリケーション開発入門
オープンソースで始めるオフラインアプリケーション開発入門Fumio SAGAWA
 
BuddyPressで街のポータルサイトを作ろう
BuddyPressで街のポータルサイトを作ろうBuddyPressで街のポータルサイトを作ろう
BuddyPressで街のポータルサイトを作ろう松田 千尋
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線yoshikawa_t
 
webpackを使ったワンランク上のモダンJSカスタマイズ_門屋 亮氏
webpackを使ったワンランク上のモダンJSカスタマイズ_門屋 亮氏webpackを使ったワンランク上のモダンJSカスタマイズ_門屋 亮氏
webpackを使ったワンランク上のモダンJSカスタマイズ_門屋 亮氏kintone papers
 
Autopagerize on Firefox and Google Chrome
Autopagerize on Firefox and Google ChromeAutopagerize on Firefox and Google Chrome
Autopagerize on Firefox and Google Chromeswdyh
 
WordPress × kintone API連携実践_たにぐち まこと氏
WordPress × kintone API連携実践_たにぐち まこと氏WordPress × kintone API連携実践_たにぐち まこと氏
WordPress × kintone API連携実践_たにぐち まこと氏kintone papers
 
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiPinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiHisateru Tanaka
 
YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPressHidetaka Okamoto
 
Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuningssuser3c214d
 
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おうhirooooo
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おうHayashi Yuichi
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術Sho Okada
 
Basis of Firefox Apps
Basis of Firefox AppsBasis of Firefox Apps
Basis of Firefox Appsdynamis
 

Tendances (20)

Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!
 
HTML5 開発環境の紹介
HTML5 開発環境の紹介HTML5 開発環境の紹介
HTML5 開発環境の紹介
 
20150729 polymer超入門
20150729 polymer超入門20150729 polymer超入門
20150729 polymer超入門
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
GDG Women DevfestW
GDG Women DevfestWGDG Women DevfestW
GDG Women DevfestW
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
 
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶWord press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
 
オープンソースで始めるオフラインアプリケーション開発入門
オープンソースで始めるオフラインアプリケーション開発入門オープンソースで始めるオフラインアプリケーション開発入門
オープンソースで始めるオフラインアプリケーション開発入門
 
BuddyPressで街のポータルサイトを作ろう
BuddyPressで街のポータルサイトを作ろうBuddyPressで街のポータルサイトを作ろう
BuddyPressで街のポータルサイトを作ろう
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線
 
webpackを使ったワンランク上のモダンJSカスタマイズ_門屋 亮氏
webpackを使ったワンランク上のモダンJSカスタマイズ_門屋 亮氏webpackを使ったワンランク上のモダンJSカスタマイズ_門屋 亮氏
webpackを使ったワンランク上のモダンJSカスタマイズ_門屋 亮氏
 
Autopagerize on Firefox and Google Chrome
Autopagerize on Firefox and Google ChromeAutopagerize on Firefox and Google Chrome
Autopagerize on Firefox and Google Chrome
 
WordPress × kintone API連携実践_たにぐち まこと氏
WordPress × kintone API連携実践_たにぐち まこと氏WordPress × kintone API連携実践_たにぐち まこと氏
WordPress × kintone API連携実践_たにぐち まこと氏
 
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiPinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
 
YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPress
 
Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuning
 
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
 
Basis of Firefox Apps
Basis of Firefox AppsBasis of Firefox Apps
Basis of Firefox Apps
 

Similaire à 第49回HTML5勉強会 Google I/O 2014サマリー

アンドロイダー的にHTML5でどこまでできそうか
アンドロイダー的にHTML5でどこまでできそうかアンドロイダー的にHTML5でどこまでできそうか
アンドロイダー的にHTML5でどこまでできそうかTakao Sumitomo
 
20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用tksyokoyama
 
Dart flightschool cloudendpoint with dart
Dart flightschool cloudendpoint with dartDart flightschool cloudendpoint with dart
Dart flightschool cloudendpoint with dart啓介 大橋
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebKensaku Komatsu
 
Offline Drupal with progressive web app
Offline Drupal with progressive web appOffline Drupal with progressive web app
Offline Drupal with progressive web appThéodore Biadala
 
Report of Google I/O 2013 Google Cloud Platform
Report of Google I/O 2013 Google Cloud PlatformReport of Google I/O 2013 Google Cloud Platform
Report of Google I/O 2013 Google Cloud PlatformRyo Yamasaki
 
gcp ja night #27 Google Cloud Endpoints with Golang
gcp ja night #27 Google Cloud Endpoints with Golanggcp ja night #27 Google Cloud Endpoints with Golang
gcp ja night #27 Google Cloud Endpoints with Golang啓介 大橋
 
Google I/O 2012 and Android 4.1
Google I/O 2012 and Android 4.1Google I/O 2012 and Android 4.1
Google I/O 2012 and Android 4.1Katsumi Onishi
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O 健一 辰濱
 
モバイルVR「Daydream」について
モバイルVR「Daydream」についてモバイルVR「Daydream」について
モバイルVR「Daydream」についてSatoshi Noda
 
早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミングIppei Arita
 
Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607Keiji Ariyama
 
GCP でも Serverless!!
GCP でも Serverless!!GCP でも Serverless!!
GCP でも Serverless!!Igarashi Toru
 
[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送
[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送
[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送Google Cloud Platform - Japan
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324Tak Inamori
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourcecmutoh
 

Similaire à 第49回HTML5勉強会 Google I/O 2014サマリー (20)

アンドロイダー的にHTML5でどこまでできそうか
アンドロイダー的にHTML5でどこまでできそうかアンドロイダー的にHTML5でどこまでできそうか
アンドロイダー的にHTML5でどこまでできそうか
 
20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用
 
Dart flightschool cloudendpoint with dart
Dart flightschool cloudendpoint with dartDart flightschool cloudendpoint with dart
Dart flightschool cloudendpoint with dart
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
 
Heroku Inside
Heroku InsideHeroku Inside
Heroku Inside
 
Offline Drupal with progressive web app
Offline Drupal with progressive web appOffline Drupal with progressive web app
Offline Drupal with progressive web app
 
Report of Google I/O 2013 Google Cloud Platform
Report of Google I/O 2013 Google Cloud PlatformReport of Google I/O 2013 Google Cloud Platform
Report of Google I/O 2013 Google Cloud Platform
 
gcp ja night #27 Google Cloud Endpoints with Golang
gcp ja night #27 Google Cloud Endpoints with Golanggcp ja night #27 Google Cloud Endpoints with Golang
gcp ja night #27 Google Cloud Endpoints with Golang
 
Google I/O 2012 and Android 4.1
Google I/O 2012 and Android 4.1Google I/O 2012 and Android 4.1
Google I/O 2012 and Android 4.1
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
APIMeetup 20170329_ichimura
APIMeetup 20170329_ichimuraAPIMeetup 20170329_ichimura
APIMeetup 20170329_ichimura
 
モバイルVR「Daydream」について
モバイルVR「Daydream」についてモバイルVR「Daydream」について
モバイルVR「Daydream」について
 
早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング
 
HTML5 のお話
HTML5 のお話HTML5 のお話
HTML5 のお話
 
Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607
 
GCP でも Serverless!!
GCP でも Serverless!!GCP でも Serverless!!
GCP でも Serverless!!
 
[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送
[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送
[Cloud OnAir] Google Cloud Next '18 in London 最新情報 2018年10月18日 放送
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 

Plus de Takuya Oikawa

執念とこだわりで社会を変える あるプロダクトマネージャーの試行錯誤
執念とこだわりで社会を変える あるプロダクトマネージャーの試行錯誤執念とこだわりで社会を変える あるプロダクトマネージャーの試行錯誤
執念とこだわりで社会を変える あるプロダクトマネージャーの試行錯誤Takuya Oikawa
 
ワークライフバランスに関する一考察
ワークライフバランスに関する一考察ワークライフバランスに関する一考察
ワークライフバランスに関する一考察Takuya Oikawa
 
食文化を支える プロダクトマネージャーの仕事術 #pmconfjp
食文化を支えるプロダクトマネージャーの仕事術 #pmconfjp食文化を支えるプロダクトマネージャーの仕事術 #pmconfjp
食文化を支える プロダクトマネージャーの仕事術 #pmconfjpTakuya Oikawa
 
【早稲田大学向け】ソフトウェア開発に必要な職種
【早稲田大学向け】ソフトウェア開発に必要な職種【早稲田大学向け】ソフトウェア開発に必要な職種
【早稲田大学向け】ソフトウェア開発に必要な職種Takuya Oikawa
 
【早稲田大学向け】ソフトウェアにより変わる世界
【早稲田大学向け】ソフトウェアにより変わる世界【早稲田大学向け】ソフトウェアにより変わる世界
【早稲田大学向け】ソフトウェアにより変わる世界Takuya Oikawa
 
#MANABIYA 2018 技術者としての成長のための技術トレンド
#MANABIYA 2018 技術者としての成長のための技術トレンド#MANABIYA 2018 技術者としての成長のための技術トレンド
#MANABIYA 2018 技術者としての成長のための技術トレンドTakuya Oikawa
 
PMの採用について
PMの採用についてPMの採用について
PMの採用についてTakuya Oikawa
 
災害時における情報支援
災害時における情報支援災害時における情報支援
災害時における情報支援Takuya Oikawa
 
CivicTechをHackする (Code for Japan Summit 2016)
CivicTechをHackする (Code for Japan Summit 2016)CivicTechをHackする (Code for Japan Summit 2016)
CivicTechをHackする (Code for Japan Summit 2016)Takuya Oikawa
 
減災ソフトウェア開発に関わる一日会議2016
減災ソフトウェア開発に関わる一日会議2016減災ソフトウェア開発に関わる一日会議2016
減災ソフトウェア開発に関わる一日会議2016Takuya Oikawa
 
競合について (pmjp.slack.comオフ会#5 LT)
競合について (pmjp.slack.comオフ会#5 LT)競合について (pmjp.slack.comオフ会#5 LT)
競合について (pmjp.slack.comオフ会#5 LT)Takuya Oikawa
 
グローバルハイテク企業で働くということ
グローバルハイテク企業で働くということグローバルハイテク企業で働くということ
グローバルハイテク企業で働くということTakuya Oikawa
 
LODチャレンジ2015 情報技術で開かれる社会
LODチャレンジ2015 情報技術で開かれる社会LODチャレンジ2015 情報技術で開かれる社会
LODチャレンジ2015 情報技術で開かれる社会Takuya Oikawa
 
すし×グローバリゼーション
すし×グローバリゼーションすし×グローバリゼーション
すし×グローバリゼーションTakuya Oikawa
 
情報共有から始めるチーム開発とキャリア戦略
情報共有から始めるチーム開発とキャリア戦略情報共有から始めるチーム開発とキャリア戦略
情報共有から始めるチーム開発とキャリア戦略Takuya Oikawa
 
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜Takuya Oikawa
 
IT DART紹介@減災ソフトウェア開発に関わる一日会議2015
IT DART紹介@減災ソフトウェア開発に関わる一日会議2015IT DART紹介@減災ソフトウェア開発に関わる一日会議2015
IT DART紹介@減災ソフトウェア開発に関わる一日会議2015Takuya Oikawa
 
Hack For Japan Overview (2013) in English
Hack For Japan Overview (2013) in EnglishHack For Japan Overview (2013) in English
Hack For Japan Overview (2013) in EnglishTakuya Oikawa
 
ITを学ぶということ
ITを学ぶということITを学ぶということ
ITを学ぶということTakuya Oikawa
 

Plus de Takuya Oikawa (20)

はじめてのPRD
はじめてのPRDはじめてのPRD
はじめてのPRD
 
執念とこだわりで社会を変える あるプロダクトマネージャーの試行錯誤
執念とこだわりで社会を変える あるプロダクトマネージャーの試行錯誤執念とこだわりで社会を変える あるプロダクトマネージャーの試行錯誤
執念とこだわりで社会を変える あるプロダクトマネージャーの試行錯誤
 
ワークライフバランスに関する一考察
ワークライフバランスに関する一考察ワークライフバランスに関する一考察
ワークライフバランスに関する一考察
 
食文化を支える プロダクトマネージャーの仕事術 #pmconfjp
食文化を支えるプロダクトマネージャーの仕事術 #pmconfjp食文化を支えるプロダクトマネージャーの仕事術 #pmconfjp
食文化を支える プロダクトマネージャーの仕事術 #pmconfjp
 
【早稲田大学向け】ソフトウェア開発に必要な職種
【早稲田大学向け】ソフトウェア開発に必要な職種【早稲田大学向け】ソフトウェア開発に必要な職種
【早稲田大学向け】ソフトウェア開発に必要な職種
 
【早稲田大学向け】ソフトウェアにより変わる世界
【早稲田大学向け】ソフトウェアにより変わる世界【早稲田大学向け】ソフトウェアにより変わる世界
【早稲田大学向け】ソフトウェアにより変わる世界
 
#MANABIYA 2018 技術者としての成長のための技術トレンド
#MANABIYA 2018 技術者としての成長のための技術トレンド#MANABIYA 2018 技術者としての成長のための技術トレンド
#MANABIYA 2018 技術者としての成長のための技術トレンド
 
PMの採用について
PMの採用についてPMの採用について
PMの採用について
 
災害時における情報支援
災害時における情報支援災害時における情報支援
災害時における情報支援
 
CivicTechをHackする (Code for Japan Summit 2016)
CivicTechをHackする (Code for Japan Summit 2016)CivicTechをHackする (Code for Japan Summit 2016)
CivicTechをHackする (Code for Japan Summit 2016)
 
減災ソフトウェア開発に関わる一日会議2016
減災ソフトウェア開発に関わる一日会議2016減災ソフトウェア開発に関わる一日会議2016
減災ソフトウェア開発に関わる一日会議2016
 
競合について (pmjp.slack.comオフ会#5 LT)
競合について (pmjp.slack.comオフ会#5 LT)競合について (pmjp.slack.comオフ会#5 LT)
競合について (pmjp.slack.comオフ会#5 LT)
 
グローバルハイテク企業で働くということ
グローバルハイテク企業で働くということグローバルハイテク企業で働くということ
グローバルハイテク企業で働くということ
 
LODチャレンジ2015 情報技術で開かれる社会
LODチャレンジ2015 情報技術で開かれる社会LODチャレンジ2015 情報技術で開かれる社会
LODチャレンジ2015 情報技術で開かれる社会
 
すし×グローバリゼーション
すし×グローバリゼーションすし×グローバリゼーション
すし×グローバリゼーション
 
情報共有から始めるチーム開発とキャリア戦略
情報共有から始めるチーム開発とキャリア戦略情報共有から始めるチーム開発とキャリア戦略
情報共有から始めるチーム開発とキャリア戦略
 
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
 
IT DART紹介@減災ソフトウェア開発に関わる一日会議2015
IT DART紹介@減災ソフトウェア開発に関わる一日会議2015IT DART紹介@減災ソフトウェア開発に関わる一日会議2015
IT DART紹介@減災ソフトウェア開発に関わる一日会議2015
 
Hack For Japan Overview (2013) in English
Hack For Japan Overview (2013) in EnglishHack For Japan Overview (2013) in English
Hack For Japan Overview (2013) in English
 
ITを学ぶということ
ITを学ぶということITを学ぶということ
ITを学ぶということ
 

Dernier

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Dernier (7)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

第49回HTML5勉強会 Google I/O 2014サマリー

  • 3. Google Confidential and Proprietary Google I/O 2014 ● 6月25日、26日にサンフランシスコで開催 ● 約6,000人が参加 ● 約75のセッション
  • 10. Google Confidential and Proprietary
  • 11. Google Confidential and Proprietary Questions ? Ok, now go build something awesome! https://plus.google.com/u/0/+AkihitoFujii/posts/Lyu5wRYHd9d?pid=6029333485917463794&oid=104976800917577721821
  • 12. Google Confidential and Proprietary
  • 13. Google Confidential and Proprietary Google I/Oの基調講演を現地で参加出来ない開発者の方が ライブストリームで見れるイベントを世界中で開催
  • 14. Google Confidential and Proprietary
  • 16. Google Confidential and Proprietary Chrome/HTML5関連の話 ● Perf Culture ● Polymer and the Web Components revolution ● Polymer and Web Components change everything you know about Web development ● Bridging the gap between the web and apps ● How we built Chrome Dev Editor with the Chrome platform ● Making the mobile web fast, feature-rich, and beautiful ● Mobile Web performance auditing ● Making music mobile with the Web ● Developing across Devices - Chrome DevTools in 2014
  • 17. Google Confidential and Proprietary Chrome/HTML5関連の話 ● Perf Culture ● Polymer and the Web Components revolution ● Polymer and Web Components change everything you know about Web development ● Bridging the gap between the web and apps ● How we built Chrome Dev Editor with the Chrome platform ● Making the mobile web fast, feature-rich, and beautiful ● Mobile Web performance auditing ● Making music mobile with the Web ● Developing across Devices - Chrome DevTools in 2014 次の2つのセッションをお聴き ください。 Polymer Web Components
  • 18. Google Confidential and Proprietary Chrome/HTML5関連の話 ● Perf Culture ● Polymer and the Web Components revolution ● Polymer and Web Components change everything you know about Web development ● Bridging the gap between the web and apps ● How we built Chrome Dev Editor with the Chrome platform ● Making the mobile web fast, feature-rich, and beautiful ● Mobile Web performance auditing ● Making music mobile with the Web ● Developing across Devices - Chrome DevTools in 2014 ServiceWorker
  • 19. Google Confidential and Proprietary Chrome/HTML5関連の話 ● Perf Culture ● Polymer and the Web Components revolution ● Polymer and Web Components change everything you know about Web development ● Bridging the gap between the web and apps ● How we built Chrome Dev Editor with the Chrome platform ● Making the mobile web fast, feature-rich, and beautiful ● Mobile Web performance auditing ● Making music mobile with the Web ● Developing across Devices - Chrome DevTools in 2014 Chrome Dev Editor
  • 20. Google Confidential and Proprietary Chrome/HTML5関連の話 ● Perf Culture ● Polymer and the Web Components revolution ● Polymer and Web Components change everything you know about Web development ● Bridging the gap between the web and apps ● How we built Chrome Dev Editor with the Chrome platform ● Making the mobile web fast, feature-rich, and beautiful ● Mobile Web performance auditing ● Making music mobile with the Web ● Developing across Devices - Chrome DevTools in 2014 DevTools
  • 21. Bridging the gap between the web and apps オフラインファースト ServiceWorker
  • 22. Google Confidential and Proprietary 話者
  • 23. Google Confidential and Proprietary I/O Bytes - The ServiceWorker: The network layer is yours to own
  • 24. Google Confidential and Proprietary 動機
  • 25. Google Confidential and Proprietary ネットワークの効率的な活用
  • 26. Google Confidential and Proprietary オフラインって言っても
  • 27. Google Confidential and Proprietary 完全にオフライン という場合だけではなくて
  • 28. Google Confidential and Proprietary 不安定(辺境の地とか)
  • 29. Google Confidential and Proprietary しょっちゅう切れる (お金のない地下鉄とか)
  • 30. Google Confidential and Proprietary なぜかわからないけど 自分だけつながらない (呪われているとか)
  • 31. Google Confidential and Proprietary とか、あるわけですが、
  • 32. Google Confidential and Proprietary 今はそのような異なる状況に 対応したWebアプリを書くのがとても難しい
  • 33. Google Confidential and Proprietary ネイティブアプリの振る舞い ネットワーク接続が必要なアプリであったとしても、 ● キャッシュからリソースをフェッチし、即座に表示 ● その間/その後すぐにネットワークに接続 ● たとえ、ネットワークに接続できなかったとしても、ユーザーに気づかせ ないで動作するアプリさえある(=ユーザーの操作を邪魔しない)
  • 34. Google Confidential and Proprietary オフラインファースト
  • 35. Google Confidential and Proprietary Application Cache (AppCache) というものがありますが、
  • 36. Google Confidential and Proprietary
  • 37. Google Confidential and Proprietary AppCacheの問題点 ● 複雑 ● きめ細かい処理が不得手 ● JavaScriptからの制御が面倒
  • 38. Google Confidential and Proprietary
  • 39. Google Confidential and Proprietary ServiceWorker ● 高度なオフライン機能 ● WebサイトからインストールされたJavaScriptが独立したWorkerスレッ ドとして動作し、Webサイトからのイベントハンドリングを実現 ○ Webページを閉じてもバックグラウンドで動作 ○ ただし、HTTPSが必須 ● 頭の良い(+JSから制御可能な)“In-browser HTTP proxy”
  • 40. Google Confidential and Proprietary ServiceWorker Browser ServiceWorker Caches Page PagePage Internet
  • 41. Google Confidential and Proprietary インストール(アプリ側 / app.js) if (‘serviceWorker’ in navigator) { navigator.serviceWorker.register( ‘/trained-to-thrill/static/js/sw.js’, {scope: ‘/trained-to-thrill/*’} ).then(success, failure); }
  • 42. Google Confidential and Proprietary sw.jsの役割 Browser ServiceWorker Caches Page PagePage Internet ● 別スレッドで動作 ● DOMアクセスは無し ● ページとは独立した処理を 行う ● ローディングの制御 ● 1つのServiceWorkderで複 数のページの制御が可能 ● キャッシュの制御 頭の良い(+JSから制御可能な)“In-browser HTTP proxy”
  • 43. Google Confidential and Proprietary インストール(ServiceWorker側 / sw.js) this.addEventListener('install', function (event) { event.waitUntil(somePromise); });
  • 44. Google Confidential and Proprietary インストール(ServiceWorker側 / sw.js) this.addEventListener('install', function(event) { event.waitUntil( caches.create('static-v1').then(function(cache) { return cache.add({ ‘/trained-to-thrill/’, ‘/trained-to-thrill/fallback.html’, ‘/trained-to-thrill/static/all.css’, ‘/trained-to-thrill/static/all.js’, ‘/trained-to-thrill/static/lego.svg’ }); }) ); });
  • 45. Google Confidential and Proprietary Fetchイベントの処理(ServiceWorker側 / sw.js) this.addEventListener('fetch’, function(event) { console.log(event.request); }); i.e) event.request.url event.request.method event.request.headers
  • 46. Google Confidential and Proprietary Fetchイベントの処理(ServiceWorker側 / sw.js) this.addEventListener('fetch’, function(event) { event.respondWith(response); });
  • 47. Google Confidential and Proprietary Fetchイベントの処理(ServiceWorker側 / sw.js) this.addEventListener('fetch’, function(event) { event.respondWith( new Response(‘Hello ServiceWorker!’) ); });
  • 48. Google Confidential and Proprietary キャッシュの利用(ServiceWorker側 / sw.js) this.addEventListener('fetch’, function(event) { event.respondWith( caches.match(event.request) ); });
  • 49. Google Confidential and Proprietary キャッシュの利用(ServiceWorker側 / sw.js) this.addEventListener('fetch’, function(event) { event.respondWith( caches.match(event.request).catch(function() return event.default(); }) ); });
  • 50. Google Confidential and Proprietary キャッシュの利用(ServiceWorker側 / sw.js) this.addEventListener('fetch’, function(event) { event.respondWith( caches.match(event.request).catch(function() return event.default(); }).catch(function() { return caches.match( ‘/trained-to-thrill/fallback.html’); ...
  • 51. Google Confidential and Proprietary AppCacheで同じことを行った場合 CACHE MANIFEST /trained-to-thrill/static/all.css /trained-to-thrill/static/all.js /trained-to-thrill/static/lego.svg NETWORK: * FALLBCK: /trained-to-thrill/fallback.html
  • 52. Google Confidential and Proprietary AppCacheで同じことを行った場合 CACHE MANIFEST /trained-to-thrill/static/all.css /trained-to-thrill/static/all.js /trained-to-thrill/static/lego.svg NETWORK: * FALLBCK: /trained-to-thrill/fallback.html
  • 53. Google Confidential and Proprietary ネットワークの接続状況に応じた処理 navigator.onLineに頼らない、ServiceWorkerによるキャッシュの有効活用 が必要。
  • 54. Google Confidential and Proprietary 参考資料 ブラウザの対応状況 → is ServiceWorker ready? Chromiumプロジェクトページ → http://www.chromium. org/blink/serviceworker
  • 55. How we built Chrome Dev Editor with the Chrome platform Chrome Dev Editor (CDE)
  • 56. Google Confidential and Proprietary
  • 57. Google Confidential and Proprietary
  • 58. Google Confidential and Proprietary Chrome Dev Editor ● Dart / Polymerで開発されたChrome上で動作するエ ディタ ● Chrome Webストアから入手可能 ● オープンソース ○ https://github.com/dart-lang/chromedeveditor/ ● Gitとの連携可能 ○ git clone ○ git branch ○ git checkout ○ など ● ダイレクトモバイルデバッグ
  • 59. Google Confidential and Proprietary Chrome Dev Editor ● Dart Webアプリ、JavaScript Webアプリ、 JavaScript/Polymer Webアプリ、Web Starter Kit, JavaScript Chromeアプリ、 JavaScript Polymer CustomElementの開 発が可能(テンプレートが用意されている) ● 作成したChrome WebアプリをChrome Webストアに登録可能 ● ビルトインWebサーバー ● マークダウンプレビュー
  • 60. Developing across Devices - Chrome DevTools in 2014 DevTools
  • 61. Google Confidential and Proprietary モバイルWeb開発に役立つ!Chrome DevToolsの 新機能「デバイスモード」 | HTML5Experts.jp
  • 62. Graphic by Luke W. Used with permission.
  • 63.
  • 64. Google Confidential and Proprietary Design Develop Iterate
  • 65. Google Confidential and Proprietary Design Responsive Layout
  • 66. Google Confidential and Proprietary Develop Rich Emulation
  • 67. Google Confidential and Proprietary Iterate Remote Debugging
  • 68. Google Confidential and Proprietary •Plug & Play •Same powerful features •Screencast your device •Port forwarding · for local development •Device Presets for most popular devices •Rich viewport emulation •Sensor emulation · Touch, Geolocation, Accelerometer •Network throttling and offline •Rich representation of media queries •Style filtering •Media query editing •Plays well with inline emulation Responsive layouts Rich Emulation Remote debugging
  • 69. Google Confidential and Proprietary Google I/O THANK YOU