SlideShare a Scribd company logo
1 of 98
Download to read offline
STATE OF WEB
APIS 2017
Carsten Sandtner // @casarock // #IPC2017 // Berlin 05/31/2017
CARSTEN
SANDTNER
@CASAROCK
MEDIAMAN
THE WEB
BROWSER WARS
BROWSER WARS
USER AGENTS
Mosaic/0.9 !// grandmother of all!
Mozilla/2.02 [fr] (WinNT; I) !// Netscapes first!
Mozilla/4.0 (compatible; MSIE 4.0; Windows 98) !// IE4!
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like
Gecko)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/58.0.3029.110 Safari/537.36
BROWSER DETECTION
https://๏ฌ‚ic.kr/p/49DTbL
BROWSER WARS
BROWSER DETECTION
function lib_bwcheck() {
this.ver = navigator.appVersion
this.agent = navigator.userAgent
this.dom = document.getElementById ? 1 : 0
this.opera5 = this.agent.indexOf("Opera 5") > -1
this.ie5 = (this.ver.indexOf("MSIE 5") > -1 !&& this.dom !&& !this.opera5) ? 1 : 0;
this.ie6 = (this.ver.indexOf("MSIE 6") > -1 !&& this.dom !&& !this.opera5) ? 1 : 0;
this.ie4 = (document.all !&& !this.dom !&& !this.opera5) ? 1 : 0;
this.ie = this.ie4 !|| this.ie5 !|| this.ie6
this.mac = this.agent.indexOf("Mac") > -1
this.ns6 = (this.dom !&& parseInt(this.ver) !>= 5) ? 1 : 0;
this.ns4 = (document.layers !&& !this.dom) ? 1 : 0;
this.bw = (this.ie6 !|| this.ie5 !|| this.ie4 !|| this.ns4 !|| this.ns6 !|| this.opera5)
return this
}
STANDARDS!https://๏ฌ‚ic.kr/p/6K9jC4
OPEN MATTERS!
https://๏ฌ‚ic.kr/p/gbx9w
FIREFOX OS IS A
DISCONTINUED OPEN-
SOURCE OPERATING
SYSTEM โ€“ MADE FOR
SMARTPHONES, TABLET
COMPUTERS AND
SMART TVS
MOBILE WEB
WEB VS. NATIVE
https://๏ฌ‚ic.kr/p/fgpFpP
ASIAhttps://๏ฌ‚ic.kr/p/7HbZiF
FEB. 2017:
~65%
WEBPAGE VIEWS
GENERATED VIA
MOBILE.
Asia
AFRICAhttps://๏ฌ‚ic.kr/p/raHxmo
FEB. 2017:
~60%
WEBPAGE VIEWS
GENERATED VIA
MOBILE.
Africa
DONโ€™T LOCK THEM OUT!
https://๏ฌ‚ic.kr/p/4ASX2S
NEW APIS FOR
MOBILE WEB
THERE IS MORE THAN
MOBILE WEB!
WEB APPS ARE
MAINSTREAM
PWA
API
WEBAPI IS A TERM USED TO REFER TO A SUITE OF
DEVICE COMPATIBILITY AND ACCESS APIS THAT
ALLOW WEB APPS AND CONTENT TO ACCESS
DEVICE HARDWARE [โ€ฆ], AS WELL AS ACCESS TO
DATA STORED ON THE DEVICE
MDN
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEBAPI
ANIMATIONS
WEB ANIMATION
API
PURE CSS
CSS3 ANIMATION
#alice {
animation: aliceTumbling infinite 3s linear;
}
@keyframes aliceTumbling {
0% {
color: #000;
transform: rotate(0) translate3D(-50%, -50%, 0);
}
30% {
color: #431236;
}
100% {
color: #000;
transform: rotate(360deg) translate3D(-50%, -50%, 0);
}
}
WEB ANIMATION API
ANIMATION USING WEB ANIMATION API
var aliceTumbling = [
{ transform: 'rotate(0) translate3D(-50%, -50%, 0)', color: '#000' },
{ color: '#431236', offset: 0.333},
{ transform: 'rotate(360deg) translate3D(-50%, -50%, 0)', color: '#000' }
];
var aliceTiming = {
duration: 3000,
iterations: Infinity
};
var aliceAnimated = document.getElementById("alice").animate(
aliceTumbling,
aliceTiming
);
WEB ANIMATION API
CONTROL YOUR ANIMATION
aliceAnimated.pause();
aliceAnimated.play();
CURRENTLY WORKING DRAFT!
Supported by Chrome 39+ and Firefox 48+
STATUS
WEB APIS WHICH โ€ฆ
SHOULD ALREADY BE KNOWN
// Geolocation
// IndexedDB
// Storage (Local-/SessionStarage)
// Noti๏ฌcations API
GAMEPAD &
POINTER LOCK
https://๏ฌ‚ic.kr/p/7BeYGK
VIBRATION
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/VIBRATION_API
https://๏ฌ‚ic.kr/p/akrgGg
VIBRATIONS API
GOOD VIBRATIONSโ€ฆ
let duration = [
200, !// vibrate 200ms
100, !// pause 100ms
200 !// vibrate 200ms
];
window.navigator.vibrate(duration);
W3C RECOMMENDATION
Supported by Chrome and Firefox but not iOS
BATTERY STATUS
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/BATTERY_STATUS_API
https://๏ฌ‚ic.kr/p/hNcMN
BATTERY STATUS API
BATTERY STATUS
navigator.getBattery().then(function (battery) {
battery.addEventListener('chargingchange', function () {
console.log("charging? " + (battery.charging ? "Yes" : "No"));
});
battery.addEventListener('levelchange', function () {
console.log("level: " + battery.level * 100 + "%");
});
battery.addEventListener('chargingtimechange', function () {
console.log("charging time: " + battery.chargingTime + " seconds");
});
battery.addEventListener('dischargingtimechange', function () {
console.log("discharging time: " + battery.dischargingTime + " seconds");
});
});
W3C CANDIDATE
RECOMMENDATION
Supported by Chrome and Firefox but will possibly being
removed due abuse
AMBIENT LIGHT
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/AMBIENT_LIGHT_EVENTS
https://๏ฌ‚ic.kr/p/4zNmSX
LIGHT EVENTS
AMBIENT LIGHT
window.addEventListener("devicelight", function (event) {
var luminosity = event.value;
console.log(luminosity);
});
EDITORS DRAFT
Supported by Firefox and Chrome for Android
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/AMBIENT_LIGHT_EVENTS
NETWORK INFORMATION
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/NETWORK_INFORMATION_API
https://๏ฌ‚ic.kr/p/peQyWU
NETWORK CONNECTION API
NETWORK CONNECTION
var connection = navigator.connection !||
navigator.mozConnection !||
navigator.webkitConnection;
var type = connection.type;
function updateConnectionStatus() {
console.log("Connection type changed " + type + " !-> " +
connection.type);
}
connection.addEventListener('typechange', updateConnectionStatus);
EDITORS DRAFT
Supported by Firefox mobile and Chrome for Android
DEVICE ORIENTATION &
DEVICE MOTION
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/DETECTING_DEVICE_ORIENTATION
By Svjo (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
DEVICE ORIENTATION AND MOTION
DEVICE ORIENTATION
window.addEventListener("deviceorientation", handleOrientation, true);
function handleOrientation(event) {
var absolute = event.absolute;
var alpha = event.alpha;
var beta = event.beta;
var gamma = event.gamma;
!// Do stuff with the new orientation data
}
DEVICE ORIENTATION AND MOTION
DEVICE MOTION
window.addEventListener("devicemotion", handleMotion, true);
function handleMotion(event) {
console.log(event.acceleration.x + ' m/s2');
!// more stuff
}
W3C WORKING DRAFT
Supported by Chrome, Edge, Firefox and Safari mobile
WEB AUDIO
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/WEB_AUDIO_API
https://๏ฌ‚ic.kr/p/7XqtJP
WEB AUDIO API
TYPICAL WORKFLOW
// Create audio context
// Inside the context, create sources โ€” such as
<audio>, oscillator, stream
// Create effects nodes, such as reverb, biquad ๏ฌlter,
panner, compressor
// Choose ๏ฌnal destination of audio, for example your
system speakers
// Connect the sources up to the effects, and the
effects to the destination.
WEB AUDIO
GREAT RESOURCES
// Talk:
// https://fronteers.nl/congres/2015/sessions/hands-
on-web-audio-soledad-penades
// Links:
// https://developer.mozilla.org/en-US/docs/Web/
API/Web_Audio_API
// https://github.com/notthetup/awesome-webaudio
// Awesome use case:
// https://learningmusic.ableton.com/index.html
W3C WORKING DRAFT
Supported by every major platform at desktop and mobile
WEB MIDI
HTTPS://WWW.W3.ORG/TR/WEBMIDI/
https://๏ฌ‚ic.kr/p/4fJGT
W3C WORKING DRAFT
Supported by Chrome
WEBVR
HTTPS://DEVELOPER.MOZILLA.ORG/DE/DOCS/WEB/API/WEBVR_API
WEBVR
WEBVR APIS
// Navigator.getVRDevices
// VRDevice/HMDVRDevice
// PositionSensorVRDevice
// VRPositionState
// VREyeParameters
// VRFieldOfView/VRFieldOfViewReadOnly
WEBVR
WEBVR USING AFRAME.IO
<!DOCTYPE html>
<html>
<head>
<title>Hello, WebVR! - A-Frame!</title>
<meta name="description" content="Hello, WebVR! - A-Frame">
<script src="https:!//aframe.io/releases/0.5.0/aframe.min.js">!</script>
!</head>
<body>
<a-scene>
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9">!</a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E">!</a-sphere>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D">!</a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4">!</a-plane>
<a-sky color="#ECECEC">!</a-sky>
!</a-scene>
!</body>
!</html>
EDITORS DRAFT
Supported by Firefox and Chrome
SERVICE WORKERS & PUSH APIS
HTTPS://DEVELOPER.MOZILLA.ORG/DE/DOCS/WEB/API/SERVICE_WORKER_API
โ˜
๐Ÿ–ฅ
Internet
๐Ÿ“œService Worker
๐Ÿ“Cache
1
2
3
3
โ˜
๐Ÿ–ฅ
Internet
๐Ÿ“œService Worker
๐Ÿ“Cache
5
3
2
4
1
โ˜
๐Ÿ–ฅ
Internet
๐Ÿ“œService Worker
๐Ÿ“Cache
โŒ
1
2
3
4
SERVICE WORKERS
REGISTER SERVICE WORKER
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw-test/sw.js', { scope: '/sw-test/' })
.then(function (reg) {
!// registration worked
console.log('Registration succeeded. Scope is ' + reg.scope);
}).catch(function (error) {
!// registration failed
console.log('Registration failed with ' + error);
});
}
SERVICE WORKERS
IMPLEMENT SERVICE WORKER
self.addEventListener('install', function (event) {
console.log("installed");
});
self.addEventListener('activate', function (event) {
console.log("activated");
});
self.addEventListener('fetch', function (event) {
console.log("fetch");
event.respondWith(new Response("My response!!!"));
});
PUSH APIS
W3C WORKING DRAFT
Supported by Firefox and Chrome
BE
PROGRESSIVE!
WEB BLUETOOTH
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/WEB_BLUETOOTH_API
WEB BLUETOOTH
BLUETOOTH
navigator.bluetooth.requestDevice({ filters: [{ services: ['battery_service'] }] })
.then(device !=> device.gatt.connect())
.then(server !=> {
!// Getting Battery Service!!...
return server.getPrimaryService('battery_service');
})
.then(service !=> {
!// Getting Battery Level Characteristic!!...
return service.getCharacteristic('battery_level');
})
.then(characteristic !=> {
!// Reading Battery Level!!...
return characteristic.readValue();
})
.then(value !=> {
console.log('Battery percentage is ' + value.getUint8(0));
})
.catch(error !=> { console.log(error); });
DRAFT
Supported by Chrome (behind a ๏ฌ‚ag)
WEB SPEECH
HTTPS://DEVELOPER.MOZILLA.ORG/EN-US/DOCS/WEB/API/WEB_SPEECH_API
https://๏ฌ‚ic.kr/p/5EWHJ4
WEB SPEECH
SPEECH SYNTHESIS
var msg = new SpeechSynthesisUtterance('Hi there.');
msg.onstart = function () { };
msg.onend = function () { };
window.speechSynthesis.speak(msg);
WEB SPEECH
SPEECH RECOGNITION
var recognition = new webkitSpeechRecognition();
recognition.continuous = true; !// keep processing input until stopped
recognition.interimResults = true; !// show interim results
recognition.lang = 'de-DE'; !// specify the language
recognition.onstart = function () { };
recognition.onerror = function (event) { };
recognition.onend = function () { };
recognition.onresult = function (event) {
var interimTranscript = '';
for (var i = event.resultIndex; i < event.results.length; !++i) {
if (event.results[i].isFinal) {
finalTranscript += event.results[i][0].transcript;
} else {
interimTranscript += event.results[i][0].transcript;
}
}
};
recognition.onspeechend = function () { }
DRAFT
Supported by Chrome (pre๏ฌxed) and Firefox (behind a ๏ฌ‚ag)
SHAPE
DETECTION
HTTPS://WICG.GITHUB.IO/SHAPE-DETECTION-API/
SHAPE DETECTION
FACE DETECTION
let faceDetector = new FaceDetector({ fastMode: true, maxDetectedFaces: 1 });
!// Assuming |theImage| is e.g. a <img> content, or a Blob.
faceDetector.detect(theImage)
.then(detectedFaces !=> {
for (const face of detectedFaces) {
console.log('Face @ (${face.boundingBox.x}, ${face.boundingBox.y}),'
+ ' size ${face.boundingBox.width}x${face.boundingBox.height}');
}
}).catch(() !=> {
console.error("Face Detection failed, boo.");
})
SHAPE DETECTION
TEXT DETECTION
let textDetector = new TextDetector();
!// Assuming |theImage| is e.g. a <img> content, or a Blob.
textDetector.detect(theImage)
.then(detectedTextBlocks !=> {
for (const textBlock of detectedTextBlocks) {
console.log(
'text @ (${textBlock.boundingBox.x}, ${textBlock.boundingBox.y}), ' +
'size ${textBlock.boundingBox.width}x$
{textBlock.boundingBox.height}');
}
}).catch(() !=> {
console.error("Text Detection failed, boo.");
})
SHAPE DETECTION
BARCODE DETECTION
let barcodeDetector = new BarcodeDetector();
!// Assuming |theImage| is e.g. a <img> content, or a Blob.
barcodeDetector.detect(theImage)
.then(detectedCodes !=> {
for (const barcode of detectedCodes) {
console.log(' Barcode ${barcode.rawValue}' +
' @ (${barcode.boundingBox.x}, ${barcode.boundingBox.y}) with
size' +
' ${barcode.boundingBox.width}x${barcode.boundingBox.height}');
}
}).catch(() !=> {
console.error("Barcode Detection failed, boo.");
})
DRAFT
Supported by Chrome
HTTPS://WICG.GITHUB.IO/SHAPE-DETECTION-API/
APART FROM WEB
SENSORS
https://๏ฌ‚ic.kr/p/adQqaY
CREATE A
COMMON API FOR
DEVICE SENSORS
Device and Sensors
Working Group
WHATโ€™S COMING?
WEBUSBhttps://๏ฌ‚ic.kr/p/iSrCYX
PAYMENT
https://๏ฌ‚ic.kr/p/bf45dn
WEB CRYPTO
https://๏ฌ‚ic.kr/p/5hXtw5
PRESENTATION
API
REMOTE
PLAYBACK
https://๏ฌ‚ic.kr/p/5Psjeu
APIS EVOLVED
FROM DEVICE-
CENTRIC TO OFFLINE
SENSORShttps://๏ฌ‚ic.kr/p/BF4bzN
THANK
YOU!
CARSTEN SANDTNER
@CASAROCK

More Related Content

Similar to State of Web APIs 2017

Firefox OS, the Open Web & WebAPIs - Geek Meet Vรคsterรฅs
Firefox OS, the Open Web & WebAPIs - Geek Meet VรคsterรฅsFirefox OS, the Open Web & WebAPIs - Geek Meet Vรคsterรฅs
Firefox OS, the Open Web & WebAPIs - Geek Meet Vรคsterรฅs
Robert Nyman
ย 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
oscon2007
ย 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design
Christopher Schmitt
ย 
[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
ย 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
Christian Heilmann
ย 
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San FranciscoFirefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Robert Nyman
ย 
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - BrazilJS
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - BrazilJSBringing the Open Web & APIs to โ€จmobile devices with Firefox OS - BrazilJS
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - BrazilJS
Robert Nyman
ย 
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - SpainJS
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - SpainJSBringing the Open Web & APIs to โ€จmobile devices with Firefox OS - SpainJS
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - SpainJS
Robert Nyman
ย 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
Robert Nyman
ย 

Similar to State of Web APIs 2017 (20)

Better Operations into the Cloud
Better Operations  into the CloudBetter Operations  into the Cloud
Better Operations into the Cloud
ย 
Html 5 boot camp
Html 5 boot campHtml 5 boot camp
Html 5 boot camp
ย 
FGS 2011: Flash+ A Whole New Dimension for Games
FGS 2011: Flash+ A Whole New Dimension for GamesFGS 2011: Flash+ A Whole New Dimension for Games
FGS 2011: Flash+ A Whole New Dimension for Games
ย 
Firefox OS, the Open Web & WebAPIs - Geek Meet Vรคsterรฅs
Firefox OS, the Open Web & WebAPIs - Geek Meet VรคsterรฅsFirefox OS, the Open Web & WebAPIs - Geek Meet Vรคsterรฅs
Firefox OS, the Open Web & WebAPIs - Geek Meet Vรคsterรฅs
ย 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
ย 
Tools that help and speed up RWD dev
Tools that help  and speed up RWD devTools that help  and speed up RWD dev
Tools that help and speed up RWD dev
ย 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] 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
[convergese] Adaptive Images in Responsive Web Design
ย 
Responsive vs Adaptive Web Design - What about Device Channels?
Responsive vs Adaptive Web Design - What about Device Channels?Responsive vs Adaptive Web Design - What about Device Channels?
Responsive vs Adaptive Web Design - What about Device Channels?
ย 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
ย 
Silverlight 4 @ MSDN Live
Silverlight 4 @ MSDN LiveSilverlight 4 @ MSDN Live
Silverlight 4 @ MSDN Live
ย 
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San FranciscoFirefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
ย 
Always on! ... or not?
Always on! ... or not?Always on! ... or not?
Always on! ... or not?
ย 
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - BrazilJS
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - BrazilJSBringing the Open Web & APIs to โ€จmobile devices with Firefox OS - BrazilJS
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - BrazilJS
ย 
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - SpainJS
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - SpainJSBringing the Open Web & APIs to โ€จmobile devices with Firefox OS - SpainJS
Bringing the Open Web & APIs to โ€จmobile devices with Firefox OS - SpainJS
ย 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global domination
ย 
Frontend. Global domination.
Frontend. Global domination.Frontend. Global domination.
Frontend. Global domination.
ย 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
ย 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
ย 
Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOS
ย 

More from Carsten Sandtner

More from Carsten Sandtner (15)

Headless in the CMS
Headless in the CMSHeadless in the CMS
Headless in the CMS
ย 
Always on! Or not?
Always on! Or not?Always on! Or not?
Always on! Or not?
ย 
Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA
ย 
WebVR - MobileTechCon Berlin 2016
WebVR - MobileTechCon Berlin 2016WebVR - MobileTechCon Berlin 2016
WebVR - MobileTechCon Berlin 2016
ย 
Evolution der Web Entwicklung
Evolution der Web EntwicklungEvolution der Web Entwicklung
Evolution der Web Entwicklung
ย 
WebVR - JAX 2016
WebVR -  JAX 2016WebVR -  JAX 2016
WebVR - JAX 2016
ย 
HTML5 Games for Web & Mobile
HTML5 Games for Web & MobileHTML5 Games for Web & Mobile
HTML5 Games for Web & Mobile
ย 
What is responsive - and do I need it?
What is responsive - and do I need it?What is responsive - and do I need it?
What is responsive - and do I need it?
ย 
Web apis JAX 2015 - Mainz
Web apis JAX 2015 - MainzWeb apis JAX 2015 - Mainz
Web apis JAX 2015 - Mainz
ย 
Web APIs - Mobiletech Conference 2015
Web APIs - Mobiletech Conference 2015Web APIs - Mobiletech Conference 2015
Web APIs - Mobiletech Conference 2015
ย 
Web APIs โ€“ expand what the Web can do
Web APIs โ€“ expand what the Web can doWeb APIs โ€“ expand what the Web can do
Web APIs โ€“ expand what the Web can do
ย 
Firefox OS - A (mobile) Web Developers dream - DWX14
Firefox OS - A (mobile) Web Developers dream - DWX14Firefox OS - A (mobile) Web Developers dream - DWX14
Firefox OS - A (mobile) Web Developers dream - DWX14
ย 
Firefox OS - A (web) developers dream - muxCamp 2014
Firefox OS - A (web) developers dream - muxCamp 2014Firefox OS - A (web) developers dream - muxCamp 2014
Firefox OS - A (web) developers dream - muxCamp 2014
ย 
Mozilla Brick - Frontend Rhein-Main June 2014
Mozilla Brick - Frontend Rhein-Main June 2014Mozilla Brick - Frontend Rhein-Main June 2014
Mozilla Brick - Frontend Rhein-Main June 2014
ย 
Traceur - Javascript.next - Now! RheinmainJS April 14th
Traceur - Javascript.next - Now! RheinmainJS April 14thTraceur - Javascript.next - Now! RheinmainJS April 14th
Traceur - Javascript.next - Now! RheinmainJS April 14th
ย 

Recently uploaded

Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
SUHANI PANDEY
ย 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
singhpriety023
ย 
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRLLucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
imonikaupta
ย 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
SUHANI PANDEY
ย 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
SUHANI PANDEY
ย 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
SUHANI PANDEY
ย 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
ย 

Recently uploaded (20)

Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
ย 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
ย 
Enjoy NightโšกCall Girls Samalka Delhi >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Samalka Delhi >เผ’8448380779 Escort ServiceEnjoy NightโšกCall Girls Samalka Delhi >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Samalka Delhi >เผ’8448380779 Escort Service
ย 
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
ย 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
ย 
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
ย 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
ย 
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRLLucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
ย 
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort ServiceBusty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
ย 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
ย 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
ย 
WhatsApp ๐Ÿ“ž 8448380779 โœ…Call Girls In Mamura Sector 66 ( Noida)
WhatsApp ๐Ÿ“ž 8448380779 โœ…Call Girls In Mamura Sector 66 ( Noida)WhatsApp ๐Ÿ“ž 8448380779 โœ…Call Girls In Mamura Sector 66 ( Noida)
WhatsApp ๐Ÿ“ž 8448380779 โœ…Call Girls In Mamura Sector 66 ( Noida)
ย 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
ย 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
ย 
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
ย 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
ย 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
ย 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
ย 

State of Web APIs 2017