SlideShare ist ein Scribd-Unternehmen logo
1 von 90
Downloaden Sie, um offline zu lesen
+ChangwookDoh
@cwdoh
Google I/O extended 2015 SEOUL
Chrome enchanted 2015
Chang W. Doh
Developer at SKPlanet
Organizer of
● GDG Korea WebTech
Contributor of
● HTML5Rocks/KO
● Web Fundamentals/KO
Permission query
Check before do something.
Chrome version 43
// Check for Geolocation API permissions
navigator
.permissions.query({name:’geolocation’})
.then(function(permissionStatus)
{
console.log('permission status is ',
permissionStatus.status);
permissionStatus.onchange = function() {
console.log('permission has changed to ',
this.status);
};
});
Theme color
<meta‹
IIIIname="themeKcolor"‹
IIIIcontent="#40bd9e">
App install banner
manifest.json
ServiceWorker
Served over HTTPS
Visit frequency heuristics
Requirements
{
"short_name": "Kinlan's Amaze App",
"name": "Kinlan's Amazing Application ++",
"icons": [
{
"src": "launcherKiconK3x.png",
"sizes": "144x144",
"type": "image/png"
}
],
"start_url": "index.html",
"display": "standalone"
}
manifest.json
<link
rel=“manifest"
href="manifest.json">
HTML
Cancelling installation
window.addEventListener(‘beforeinstallprompt',
function(e) {
e.preventDefault();
return false;
});
Checking installation
window.addEventListener(‘beforeinstallprompt',
function(e) {
e.userChoice.then(function(choiceResult) {
if(choiceResult.outcome == 'dismissed') {
console.log('User cancelled install');
}
else {
console.log('User added to homescreen');
}
});
});
Are you Android
developer?!?
Chrome custom tabs
When showing web contents in native app

Launching the browser
Embedding WebView
One more thing!
Chrome Custom Tabs
Chrome Custom Tabs
Share all contexts with Chrome
Customize how Chrome L&F
Pre-start and pre-fetch content
Easy to implement
Available on
Chrome 45 dev channel
Visit for samples:
https://github.com/GoogleChrome/custom-tabs-client
“If your app directs people to
URLs outside your domain”
When I use Chrome custom tabs?
Native app install banner
{‹
IIII"short_name":I"Kinlan'sIAmazeIApp",‹
IIII"name":I"Kinlan'sIAmazingIApplicationI++",‹
IIII"icons":I[
],‹
IIII"start_url":I"index.html",‹
IIII"display":I“standalone”,I
‹
}
manifest.json
"prefer_related_applications": true,
"related_applications": [
{
"platform": "play",
"id": "com.google.samples.apps.iosched"
}
],


“The user has visited your site
twice over 2 separate days
during the course of 2 weeks.”
When can my user see that banner?
Rule of 2-2-2
Are you Android
developer?!?
“읎제 닀넞 ì„žì…˜ìœŒëĄœ 가셔도 ìą‹ìŠ”ë‹ˆë‹€.”
Service Worker
Yay, ServiceWorker!!
● Caching/offiline
● Push notification
● Background sync
● Intercept request
● Offline google analytics
WEB PAGE
Web Page are running on single thread(UI)
WEB PAGE
WebWorker
WebPage has spawned new thread(Worker)
On UI thread On Background
thread
WebPage install new service module on the browser
Service Worker
JS
Event NetworkBROWSER
Cache
App. Cache!!
App. Cache!!Offline!!
Offline!!
Image: ‘Mission Impossible 4’ Movie
“Now, you can use notification
for your web app like native app”
https://simple-push-demo.appspot.com/
manifest.json
{II
IIII"
IIII"
IIII"
IIIIIIII"
IIIIIIII"
IIIIIIII"
IIII}],II
IIII"
IIII"
}
‹
IIII"gcm_sender_id":I"123456789012",II‹
IIII"gcm_user_visible_only":ItrueII‹
javascript - serviceworker code
self.addEventListener('push',Ifunction(event)I{III‹
IIIIconsole.log('ReceivedIaIpushImessage',Ievent);‹
‹
IIIIvarItitleI=I'YayIaImessage.';II‹
IIIIvarIbodyI=I'WeIhaveIreceivedIaIpushImessage.';II‹
IIIIvarIiconI=I'/images/iconK192x192.png';II‹
IIIIvarItagI=I'simpleKpushKdemoKnotificationKtag';‹
‹
IIIIevent.waitUntil(II‹
IIIIIIIIself.registration.showNotification(title,I{II‹
IIIIIIIIIIIIbody:Ibody,‹
IIIIIIIIIIIIicon:Iicon,II‹
IIIIIIIIIIIItag:ItagII‹
IIIIIIII})II‹
IIII);II‹
});
Slide from “Polymer and modern web APIs: In production at Google scale"
READY
FOR
PRODUCTION
“Existing HTML is a set of tools
useful 20 years ago for building
documents, not applications.”
Slide from “Polymer and modern web APIs: In production at Google scale"
Image:
Slide from “Polymer and modern web APIs: In production at Google scale"
Web Components
HTML Imports
Custom elements
Template
Shadow DOM
ì»ŽíŹë„ŒíŠž ëĄœë”©
ì—˜ëŠŹëšŒíŠž ë“±ëĄ
ë§ˆíŹì—… ê”ŹìĄ°í™”/생성
ìŠ€íƒ€ìŒêłŒ DOM을 볎혞
Visit to read in detail: http://goo.gl/aiEI6F
Why Polymer?
Step 1
Slide from “Polymer and modern web APIs: In production at Google scale"
Step 2
https://goo.gl/Y77E43
Slide from “Polymer and modern web APIs: In production at Google scale"
We wanted to do better.
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Learnings from Web Starter Kit, IO 2015 and Santa Tracker
Slide from “Polymer and modern web APIs: In production at Google scale"
Polymer 1.0
REALLY Quick reviewREALLY
Slide from “Polymer and modern web APIs: In production at Google scale"
0
150
300
450
600
Time
0
750
1500
2250
3000
Time
mobile safari
4x FASTER
Chrome
3x FASTER
Slide from “Polymer and modern web APIs: In production at Google scale"
0.51.0
35% LESS CODE
42kb19kb -
Slide from “Polymer and modern web APIs: In production at Google scale"
1.0 Features
Shady DOM
Theming with CSS custom prop.
Slide from “Polymer and modern web APIs: In production at Google scale"
Existing Frameworks
Applications
Web Platform
Web Components Built with Polymer (or not)
core paper
Slide from “Polymer and modern web APIs: In production at Google scale"
core paper
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
<google-drive>
<google-calendar>
<google-hangout-button>
<google-cloud>
<google-castable-video>
<google-analytics>
<google-map>
<google-sheets>
<google-translate>
<google-youtube>
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
<platinum-sw>
<platinum-sw-fetch>
<platinum-sw-cache>
<platinum-sw-register>
<platinum-push-
messaging>


Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
<gold-cc-input>
<gold-zip-input>
<gold-cc-expiration-
input>
<gold-cc-cvc-input>
<gold-phone-input>
<gold-email-input>


Slide from “Polymer and modern web APIs: In production at Google scale"
elements.polymer-project.org
Slide from “Polymer and modern web APIs: In production at Google scale"
There’s an element
for that!
Slide from “Polymer and modern web APIs: In production at Google scale"
Featured cases
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
+
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
Google Santa
santatracker.googl
Slide from “Polymer and modern web APIs: In production at Google scale"
Slide from “Polymer and modern web APIs: In production at Google scale"
<santa-app> </santa-app>
github.com/google/santa-tracker-web
Slide from “Polymer and modern web APIs: In production at Google scale"
<santa-app>
</santa-app>
github.com/google/santa-tracker-web
Slide from “Polymer and modern web APIs: In production at Google scale"
<!-- route controller -->
<santa-router route="{{route}}" autoHash></santa-router>
<!-- scenes elements are upgraded on demand -->
<lazy-pages selected=“{{route}}” selectedItem=“{{selectedScene}}”
valueattr=“route”>
<!-- scenes elements inherit from base-scene.html -->
<village-scene route=“village" path=“scenes/village_{{lang}}.html” hidden>

<!-- scenes can specify their own loading image & background -->
<santaselïŹe-scene route="santaselïŹe"
path=“scenes/santaselïŹe-{{lang}}.html”
loadingBgColor="#83D7F5"
loadingSrc=“scenes/selïŹe_loading.svg” hidden>

</lazy-pages>
<santa-app>
</santa-app>
Slide from “Polymer and modern web APIs: In production at Google scale"
<!-- route controller -->
<santa-router route="{{route}}" autoHash></santa-router>
<!-- scenes elements are upgraded on demand -->
<lazy-pages selected=“{{route}}” selectedItem=“{{selectedScene}}”
valueattr=“route”>
<!-- scenes elements inherit from base-scene.html -->
<village-scene route=“village" path=“scenes/village_{{lang}}.html” hidden>

<!-- scenes can specify their own loading image & background -->
<santaselïŹe-scene route="santaselïŹe"
path=“scenes/santaselïŹe-{{lang}}.html”
loadingBgColor="#83D7F5"
loadingSrc=“scenes/selïŹe_loading.svg” hidden>

</lazy-pages>
<santa-app>
</santa-app>
Slide from “Polymer and modern web APIs: In production at Google scale"
ANY QUESTION?
ROCK YOU!

Weitere Àhnliche Inhalte

Was ist angesagt?

High Performance JavaScript (Amazon DevCon 2011)
High Performance JavaScript (Amazon DevCon 2011)High Performance JavaScript (Amazon DevCon 2011)
High Performance JavaScript (Amazon DevCon 2011)
Nicholas Zakas
 
High Performance JavaScript (CapitolJS 2011)
High Performance JavaScript (CapitolJS 2011)High Performance JavaScript (CapitolJS 2011)
High Performance JavaScript (CapitolJS 2011)
Nicholas Zakas
 

Was ist angesagt? (20)

Web Components
Web ComponentsWeb Components
Web Components
 
High Performance JavaScript (Amazon DevCon 2011)
High Performance JavaScript (Amazon DevCon 2011)High Performance JavaScript (Amazon DevCon 2011)
High Performance JavaScript (Amazon DevCon 2011)
 
Real World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker CachingReal World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker Caching
 
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
 
Enjoy the vue.js
Enjoy the vue.jsEnjoy the vue.js
Enjoy the vue.js
 
Web Components & Polymer 1.0 (Webinale Berlin)
Web Components & Polymer 1.0 (Webinale Berlin)Web Components & Polymer 1.0 (Webinale Berlin)
Web Components & Polymer 1.0 (Webinale Berlin)
 
The Complementarity of React and Web Components
The Complementarity of React and Web ComponentsThe Complementarity of React and Web Components
The Complementarity of React and Web Components
 
Building and deploying React applications
Building and deploying React applicationsBuilding and deploying React applications
Building and deploying React applications
 
High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010
 
What Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Windows 8 AppsWhat Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Windows 8 Apps
 
Nodejs.meetup
Nodejs.meetupNodejs.meetup
Nodejs.meetup
 
Our application got popular and now it breaks
Our application got popular and now it breaksOur application got popular and now it breaks
Our application got popular and now it breaks
 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
 
Node.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash CourseNode.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash Course
 
High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010
 
High Performance JavaScript (CapitolJS 2011)
High Performance JavaScript (CapitolJS 2011)High Performance JavaScript (CapitolJS 2011)
High Performance JavaScript (CapitolJS 2011)
 

Andere mochten auch

(ì•ˆë“œëĄœìŽë“œ 개발자넌 위한) 였픈소슀 ëŒìŽëžŒëŸŹëŠŹ ì‚Źìš© 가읎드
(ì•ˆë“œëĄœìŽë“œ 개발자넌 위한) 였픈소슀 ëŒìŽëžŒëŸŹëŠŹ ì‚Źìš© 가읎드(ì•ˆë“œëĄœìŽë“œ 개발자넌 위한) 였픈소슀 ëŒìŽëžŒëŸŹëŠŹ ì‚Źìš© 가읎드
(ì•ˆë“œëĄœìŽë“œ 개발자넌 위한) 였픈소슀 ëŒìŽëžŒëŸŹëŠŹ ì‚Źìš© 가읎드
Taeho Kim
 
같은 유저수, 닀넞 수읔? ëȘšë°”음 앱의 수읔을 높읎는 ë°©ëȕ
같은 유저수, 닀넞 수읔? ëȘšë°”음 앱의 수읔을 높읎는 ë°©ëČ•ê°™ì€ 유저수, 닀넞 수읔? ëȘšë°”음 앱의 수읔을 높읎는 ë°©ëȕ
같은 유저수, 닀넞 수읔? ëȘšë°”음 앱의 수읔을 높읎는 ë°©ëȕ
GDG Korea
 
á„‹á…Ąá†«á„ƒá…łá„…á…©á„‹á…”á„ƒá…ł 귀발오 ᄋá…Čá„‹á…­á†Œá„’á…Ąá†« á„ƒá…©á„€á…źá„ƒá…łá†Ż
á„‹á…Ąá†«á„ƒá…łá„…á…©á„‹á…”á„ƒá…ł 귀발오 ᄋá…Čá„‹á…­á†Œá„’á…Ąá†« á„ƒá…©á„€á…źá„ƒá…łá†Żá„‹á…Ąá†«á„ƒá…łá„…á…©á„‹á…”á„ƒá…ł 귀발오 ᄋá…Čá„‹á…­á†Œá„’á…Ąá†« á„ƒá…©á„€á…źá„ƒá…łá†Ż
á„‹á…Ąá†«á„ƒá…łá„…á…©á„‹á…”á„ƒá…ł 귀발오 ᄋá…Čá„‹á…­á†Œá„’á…Ąá†« á„ƒá…©á„€á…źá„ƒá…łá†Ż
Sewon Ann
 

Andere mochten auch (20)

테크 컚퍌런슀에서 ì‚ŹëžŒë“€êłŒ ìčœí•Žì§€ëŠ” ë°©ëȕ
테크 컚퍌런슀에서 ì‚ŹëžŒë“€êłŒ ìčœí•Žì§€ëŠ” ë°©ëȕ테크 컚퍌런슀에서 ì‚ŹëžŒë“€êłŒ ìčœí•Žì§€ëŠ” ë°©ëȕ
테크 컚퍌런슀에서 ì‚ŹëžŒë“€êłŒ ìčœí•Žì§€ëŠ” ë°©ëȕ
 
마섞띌티의 ëč„ë°€
마섞띌티의 ëč„밀마섞띌티의 ëč„ë°€
마섞띌티의 ëč„ë°€
 
ì•ˆë“œëĄœìŽë“œ M의 ìŁŒìš” 변êČœ ì‚Źí•­
ì•ˆë“œëĄœìŽë“œ M의 ìŁŒìš” 변êČœ ì‚Źí•­ì•ˆë“œëĄœìŽë“œ M의 ìŁŒìš” 변êČœ ì‚Źí•­
ì•ˆë“œëĄœìŽë“œ M의 ìŁŒìš” 변êČœ ì‚Źí•­
 
êł ì„±ëŠ„ 애니메읎션 개발 êž°ëȕ 및 성늄 씜적화
êł ì„±ëŠ„ 애니메읎션 개발 êž°ëȕ 및 성늄 ì”œì í™”êł ì„±ëŠ„ 애니메읎션 개발 êž°ëȕ 및 성늄 씜적화
êł ì„±ëŠ„ 애니메읎션 개발 êž°ëȕ 및 성늄 씜적화
 
Material Design with Support Design Library
Material Design with Support Design LibraryMaterial Design with Support Design Library
Material Design with Support Design Library
 
Service Worker 101 (한ꔭ얎)
Service Worker 101 (한ꔭ얎)Service Worker 101 (한ꔭ얎)
Service Worker 101 (한ꔭ얎)
 
Developing webapp using Polymer : is it ready for production? or not?
Developing webapp using Polymer : is it ready for production? or not?Developing webapp using Polymer : is it ready for production? or not?
Developing webapp using Polymer : is it ready for production? or not?
 
(ì•ˆë“œëĄœìŽë“œ 개발자넌 위한) 였픈소슀 ëŒìŽëžŒëŸŹëŠŹ ì‚Źìš© 가읎드
(ì•ˆë“œëĄœìŽë“œ 개발자넌 위한) 였픈소슀 ëŒìŽëžŒëŸŹëŠŹ ì‚Źìš© 가읎드(ì•ˆë“œëĄœìŽë“œ 개발자넌 위한) 였픈소슀 ëŒìŽëžŒëŸŹëŠŹ ì‚Źìš© 가읎드
(ì•ˆë“œëĄœìŽë“œ 개발자넌 위한) 였픈소슀 ëŒìŽëžŒëŸŹëŠŹ ì‚Źìš© 가읎드
 
Why realm?
Why realm?Why realm?
Why realm?
 
How_to_choose_the_right_framework
How_to_choose_the_right_frameworkHow_to_choose_the_right_framework
How_to_choose_the_right_framework
 
같은 유저수, 닀넞 수읔? ëȘšë°”음 앱의 수읔을 높읎는 ë°©ëȕ
같은 유저수, 닀넞 수읔? ëȘšë°”음 앱의 수읔을 높읎는 ë°©ëČ•ê°™ì€ 유저수, 닀넞 수읔? ëȘšë°”음 앱의 수읔을 높읎는 ë°©ëȕ
같은 유저수, 닀넞 수읔? ëȘšë°”음 앱의 수읔을 높읎는 ë°©ëȕ
 
á„‹á…Ąá†«á„ƒá…łá„…á…©á„‹á…”á„ƒá…ł 귀발오 ᄋá…Čá„‹á…­á†Œá„’á…Ąá†« á„ƒá…©á„€á…źá„ƒá…łá†Ż
á„‹á…Ąá†«á„ƒá…łá„…á…©á„‹á…”á„ƒá…ł 귀발오 ᄋá…Čá„‹á…­á†Œá„’á…Ąá†« á„ƒá…©á„€á…źá„ƒá…łá†Żá„‹á…Ąá†«á„ƒá…łá„…á…©á„‹á…”á„ƒá…ł 귀발오 ᄋá…Čá„‹á…­á†Œá„’á…Ąá†« á„ƒá…©á„€á…źá„ƒá…łá†Ż
á„‹á…Ąá†«á„ƒá…łá„…á…©á„‹á…”á„ƒá…ł 귀발오 ᄋá…Čá„‹á…­á†Œá„’á…Ąá†« á„ƒá…©á„€á…źá„ƒá…łá†Ż
 
Support Design Library
Support Design LibrarySupport Design Library
Support Design Library
 
Android n preview
Android n previewAndroid n preview
Android n preview
 
디자읎너 없얎도 êŽœì°źì•„! (feat.Material Design Guide)
디자읎너 없얎도 êŽœì°źì•„! (feat.Material Design Guide)디자읎너 없얎도 êŽœì°źì•„! (feat.Material Design Guide)
디자읎너 없얎도 êŽœì°źì•„! (feat.Material Design Guide)
 
ì•ˆë“œëĄœìŽë“œ MediaPlayer & VideoView
ì•ˆë“œëĄœìŽë“œ MediaPlayer & VideoViewì•ˆë“œëĄœìŽë“œ MediaPlayer & VideoView
ì•ˆë“œëĄœìŽë“œ MediaPlayer & VideoView
 
접귌성(Accessibility)êłŒ ì•ˆë“œëĄœìŽë“œ
접귌성(Accessibility)êłŒ ì•ˆë“œëĄœìŽë“œì ‘ê·Œì„±(Accessibility)êłŒ ì•ˆë“œëĄœìŽë“œ
접귌성(Accessibility)êłŒ ì•ˆë“œëĄœìŽë“œ
 
Android Studio 2.2 - What's new in Android development tools
Android Studio 2.2 - What's new in Android development toolsAndroid Studio 2.2 - What's new in Android development tools
Android Studio 2.2 - What's new in Android development tools
 
Google Firebase로 ë ˆêł ëž”ëŸ­ ìĄ°ëŠœí•˜êž° - IO Extended 2016
Google Firebase로 ë ˆêł ëž”ëŸ­ ìĄ°ëŠœí•˜êž° - IO Extended 2016Google Firebase로 ë ˆêł ëž”ëŸ­ ìĄ°ëŠœí•˜êž° - IO Extended 2016
Google Firebase로 ë ˆêł ëž”ëŸ­ ìĄ°ëŠœí•˜êž° - IO Extended 2016
 
3D Graphics 101
3D Graphics 1013D Graphics 101
3D Graphics 101
 

Ähnlich wie Chrome enchanted 2015

Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
Robert Nyman
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[peachpit] Adaptive Images in Responsive Web Design
[peachpit] Adaptive Images in Responsive Web Design[peachpit] Adaptive Images in Responsive Web Design
[peachpit] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
KMS Technology
 

Ähnlich wie Chrome enchanted 2015 (20)

Android
AndroidAndroid
Android
 
Mobile backends with Google Cloud Platform (MBLTDev'14)
Mobile backends with Google Cloud Platform (MBLTDev'14)Mobile backends with Google Cloud Platform (MBLTDev'14)
Mobile backends with Google Cloud Platform (MBLTDev'14)
 
e-KTP Information Extraction with Google Cloud Function & Google Cloud Vision
e-KTP Information Extraction with Google Cloud Function & Google Cloud Visione-KTP Information Extraction with Google Cloud Function & Google Cloud Vision
e-KTP Information Extraction with Google Cloud Function & Google Cloud Vision
 
Structure your Play application with the cake pattern (and test it)
Structure your Play application with the cake pattern (and test it)Structure your Play application with the cake pattern (and test it)
Structure your Play application with the cake pattern (and test it)
 
web push notifications for your webapp
web push notifications for your webappweb push notifications for your webapp
web push notifications for your webapp
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
#MBLTdev: Đ Đ°Đ·Ń€Đ°Đ±ĐŸŃ‚ĐșĐ° backend ĐŽĐ»Ń ĐŒĐŸĐ±ĐžĐ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžŃ с ĐžŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ”ĐŒ Googl...
#MBLTdev: Đ Đ°Đ·Ń€Đ°Đ±ĐŸŃ‚ĐșĐ° backend ĐŽĐ»Ń ĐŒĐŸĐ±ĐžĐ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžŃ с ĐžŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ”ĐŒ Googl...#MBLTdev: Đ Đ°Đ·Ń€Đ°Đ±ĐŸŃ‚ĐșĐ° backend ĐŽĐ»Ń ĐŒĐŸĐ±ĐžĐ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžŃ с ĐžŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ”ĐŒ Googl...
#MBLTdev: Đ Đ°Đ·Ń€Đ°Đ±ĐŸŃ‚ĐșĐ° backend ĐŽĐ»Ń ĐŒĐŸĐ±ĐžĐ»ŃŒĐœĐŸĐłĐŸ ĐżŃ€ĐžĐ»ĐŸĐ¶Đ”ĐœĐžŃ с ĐžŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ”ĐŒ Googl...
 
Vered Flis: Because performance matters! Architecture Next 20
Vered Flis: Because performance matters! Architecture Next 20Vered Flis: Because performance matters! Architecture Next 20
Vered Flis: Because performance matters! Architecture Next 20
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
[Public] between two worlds native&no-native experiences
[Public] between two worlds  native&no-native experiences[Public] between two worlds  native&no-native experiences
[Public] between two worlds native&no-native experiences
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
Desenvolvimento Mobile HĂ­brido
Desenvolvimento Mobile HĂ­bridoDesenvolvimento Mobile HĂ­brido
Desenvolvimento Mobile HĂ­brido
 
[peachpit] Adaptive Images in Responsive Web Design
[peachpit] Adaptive Images in Responsive Web Design[peachpit] Adaptive Images in Responsive Web Design
[peachpit] Adaptive Images in Responsive Web Design
 
БыстрыĐč старт ĐČ gDrive API
БыстрыĐč старт ĐČ gDrive APIБыстрыĐč старт ĐČ gDrive API
БыстрыĐč старт ĐČ gDrive API
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
 
仄 Kotlin ćż«é€Ÿæ‰“é€  Mobile Backend
仄 Kotlin ćż«é€Ÿæ‰“é€  Mobile Backend仄 Kotlin ćż«é€Ÿæ‰“é€  Mobile Backend
仄 Kotlin ćż«é€Ÿæ‰“é€  Mobile Backend
 
HTML5
HTML5HTML5
HTML5
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
 

Mehr von Chang W. Doh

Kotlin, ì–Žë–»êȌ 동작하나요
Kotlin, ì–Žë–»êȌ 동작하나요Kotlin, ì–Žë–»êȌ 동작하나요
Kotlin, ì–Žë–»êȌ 동작하나요
Chang W. Doh
 
á„‘á…łá„…á…©á†«á„á…łá„‹á…Šá†«á„ƒá…ł 귀발자를 위헌 á„á…łá„…á…©á†· ᄅᅊᆫᄃᅄᄅᅔᆌ á„‰á…„á†Œá„‚á…łá†Œá„‹á…”á†«á„Œá…Ą ᄋᅔᄒᅹ허ᄀᅔ
á„‘á…łá„…á…©á†«á„á…łá„‹á…Šá†«á„ƒá…ł 귀발자를 위헌 á„á…łá„…á…©á†· ᄅᅊᆫᄃᅄᄅᅔᆌ á„‰á…„á†Œá„‚á…łá†Œá„‹á…”á†«á„Œá…Ą á„‹á…”á„’á…ąá„’á…Ąá„€á…”á„‘á…łá„…á…©á†«á„á…łá„‹á…Šá†«á„ƒá…ł 귀발자를 위헌 á„á…łá„…á…©á†· ᄅᅊᆫᄃᅄᄅᅔᆌ á„‰á…„á†Œá„‚á…łá†Œá„‹á…”á†«á„Œá…Ą ᄋᅔᄒᅹ허ᄀᅔ
á„‘á…łá„…á…©á†«á„á…łá„‹á…Šá†«á„ƒá…ł 귀발자를 위헌 á„á…łá„…á…©á†· ᄅᅊᆫᄃᅄᄅᅔᆌ á„‰á…„á†Œá„‚á…łá†Œá„‹á…”á†«á„Œá…Ą ᄋᅔᄒᅹ허ᄀᅔ
Chang W. Doh
 

Mehr von Chang W. Doh (20)

Exploring what're new in Web for the Natively app
Exploring what're new in Web for the Natively appExploring what're new in Web for the Natively app
Exploring what're new in Web for the Natively app
 
Kotlin의 ìœ”ëŁší‹Žì€ ì–Žë–»êȌ 동작하는가
Kotlin의 ìœ”ëŁší‹Žì€ ì–Žë–»êȌ 동작하는가Kotlin의 ìœ”ëŁší‹Žì€ ì–Žë–»êȌ 동작하는가
Kotlin의 ìœ”ëŁší‹Žì€ ì–Žë–»êȌ 동작하는가
 
Hey Kotlin, How it works?
Hey Kotlin, How it works?Hey Kotlin, How it works?
Hey Kotlin, How it works?
 
Kotlin, ì–Žë–»êȌ 동작하나요
Kotlin, ì–Žë–»êȌ 동작하나요Kotlin, ì–Žë–»êȌ 동작하나요
Kotlin, ì–Žë–»êȌ 동작하나요
 
introduction to Web Assembly
introduction to Web Assembly introduction to Web Assembly
introduction to Web Assembly
 
PWA Roadshow Seoul - Keynote
PWA Roadshow Seoul - KeynotePWA Roadshow Seoul - Keynote
PWA Roadshow Seoul - Keynote
 
PWA Roadshow Seoul - HTTPS
PWA Roadshow Seoul - HTTPSPWA Roadshow Seoul - HTTPS
PWA Roadshow Seoul - HTTPS
 
CSS 닀시 파서 얎디에 쓰나
CSS 닀시 파서 얎디에 쓰나CSS 닀시 파서 얎디에 쓰나
CSS 닀시 파서 얎디에 쓰나
 
Natively Web App & Service Worker
Natively Web App & Service WorkerNatively Web App & Service Worker
Natively Web App & Service Worker
 
ìŽˆëłŽ 개발자넌 위한 ì›č í”„ëĄ íŠžì—”ë“œ 개발 101
ìŽˆëłŽ 개발자넌 위한 ì›č í”„ëĄ íŠžì—”ë“œ 개발 101ìŽˆëłŽ 개발자넌 위한 ì›č í”„ëĄ íŠžì—”ë“œ 개발 101
ìŽˆëłŽ 개발자넌 위한 ì›č í”„ëĄ íŠžì—”ë“œ 개발 101
 
Service Worker 201 (한ꔭ얎)
Service Worker 201 (한ꔭ얎)Service Worker 201 (한ꔭ얎)
Service Worker 201 (한ꔭ얎)
 
Service Worker 101 (en)
Service Worker 101 (en)Service Worker 101 (en)
Service Worker 101 (en)
 
What is next for the web
What is next for the webWhat is next for the web
What is next for the web
 
á„‘á…łá„…á…©á†«á„á…łá„‹á…Šá†«á„ƒá…ł 귀발자를 위헌 á„á…łá„…á…©á†· ᄅᅊᆫᄃᅄᄅᅔᆌ á„‰á…„á†Œá„‚á…łá†Œá„‹á…”á†«á„Œá…Ą ᄋᅔᄒᅹ허ᄀᅔ
á„‘á…łá„…á…©á†«á„á…łá„‹á…Šá†«á„ƒá…ł 귀발자를 위헌 á„á…łá„…á…©á†· ᄅᅊᆫᄃᅄᄅᅔᆌ á„‰á…„á†Œá„‚á…łá†Œá„‹á…”á†«á„Œá…Ą á„‹á…”á„’á…ąá„’á…Ąá„€á…”á„‘á…łá„…á…©á†«á„á…łá„‹á…Šá†«á„ƒá…ł 귀발자를 위헌 á„á…łá„…á…©á†· ᄅᅊᆫᄃᅄᄅᅔᆌ á„‰á…„á†Œá„‚á…łá†Œá„‹á…”á†«á„Œá…Ą ᄋᅔᄒᅹ허ᄀᅔ
á„‘á…łá„…á…©á†«á„á…łá„‹á…Šá†«á„ƒá…ł 귀발자를 위헌 á„á…łá„…á…©á†· ᄅᅊᆫᄃᅄᄅᅔᆌ á„‰á…„á†Œá„‚á…łá†Œá„‹á…”á†«á„Œá…Ą ᄋᅔᄒᅹ허ᄀᅔ
 
Polymer Codelab: Before diving into polymer
Polymer Codelab: Before diving into polymerPolymer Codelab: Before diving into polymer
Polymer Codelab: Before diving into polymer
 
á„‹á…Ąá†Żá„‹á…Ąá„‡á…©á†žá„‰á…”á„ƒá…Ą, Polymer: Web Components & Web Animations
á„‹á…Ąá†Żá„‹á…Ąá„‡á…©á†žá„‰á…”á„ƒá…Ą, Polymer: Web Components & Web Animationsá„‹á…Ąá†Żá„‹á…Ąá„‡á…©á†žá„‰á…”á„ƒá…Ą, Polymer: Web Components & Web Animations
á„‹á…Ąá†Żá„‹á…Ąá„‡á…©á†žá„‰á…”á„ƒá…Ą, Polymer: Web Components & Web Animations
 
SOSCON 2014: ᄆᅟᆫᄉᅄ ᄀᅔ번ᄋᅎ 오픈소스 ᄀᅔ여허ᄀᅔ
SOSCON 2014: ᄆᅟᆫᄉᅄ ᄀᅔ번ᄋᅎ 오픈소스 ᄀᅔ여허ᄀᅔSOSCON 2014: ᄆᅟᆫᄉᅄ ᄀᅔ번ᄋᅎ 오픈소스 ᄀᅔ여허ᄀᅔ
SOSCON 2014: ᄆᅟᆫᄉᅄ ᄀᅔ번ᄋᅎ 오픈소스 ᄀᅔ여허ᄀᅔ
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
 
Cache in Chromium: Disk Cache
Cache in Chromium: Disk CacheCache in Chromium: Disk Cache
Cache in Chromium: Disk Cache
 
Ninja Build: Simple Guide for Beginners
Ninja Build: Simple Guide for BeginnersNinja Build: Simple Guide for Beginners
Ninja Build: Simple Guide for Beginners
 

KĂŒrzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

KĂŒrzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Chrome enchanted 2015