SlideShare a Scribd company logo
1 of 120
Download to read offline
PEOPLE DON'T GIVE A
F**K OF JAVASCRIPT
Aurelio De Rosa
Warsaw, Poland - 20 April 2015
WEB & APP DEVELOPER
CONTRIBUTE(D) TO
...
jQuery
CanIUse
PureCSS
WRITE(D) FOR
...
SitePoint
Tuts+
.NET megazine
php [architect] megazine
Telerik
Web & PHP magazine
AUTHORED BOOKS
JQUERY IN ACTION (3RD EDITION) INSTANT JQUERY SELECTORS
(Shameless self-promotion!)
WHO ARE YOUR USERS?
3 QUESTIONS FOR YOU
1. Do you think they understand programming languages?
2. Do you think they know what JavaScript is?
3. Do you think they care about JavaScript?
...BUT I'M A DEVELOPER!
TASK
EXPERIENCE
“I'm a Java developer and I don't think I would
trust a PHP developer enough to teach me
something about the web”
— Anonymous
“There are only two kinds of languages: the ones
people complain about and the ones nobody
uses”
— Bjarne Stroustrup
“Pick one that feels right to you, and start
building things. That's all that matters.”
— Jeffrey Way
LET'S WRITE BETTER
JAVASCRIPT
PATTERN OF THE NEXT PART
What
Use Cases
Methods, Properties and Events
Example
Browsers Support (Desktop and Mobile)
Use it today (Polyfills)
Demo
...Better for Developers
PERFORMANCE
MATTERS!
Reference:http://torbit.com/blog/2012/09/19/some-interesting-performance-statistics/
Reference:http://torbit.com/blog/2012/09/19/some-interesting-performance-statistics/
“A Bing study found that a 10ms increase in page
load time costs the site $250K in revenue
annually.”
— Rob Trace, David Walp
Reference:http://blogs.msdn.com/b/ie/archive/2014/10/08/http-2-the-long-awaited-sequel.aspx
LESSON:
TEST AND IMPROVE YOUR WEBSITE'S
PERFORMANCE
HOW WE USE TO TEST PERFORMANCE
DON'T BELIEVE ME? LOOK AT THIS SNIPPET
var startTime = Date.now();
// A time consuming function
foo();
var test1 = Date.now();
// Another time consuming function
bar();
var test2 = Date.now();
// Prints the results
console.log("Test1: " + (test1 ‐ startTime));
console.log("Test2: " + (test2 ‐ test1));
WHAT'S WRONG WITH DATE.NOW()?
1. It is not monotonically increasing
2. Milliseconds precision
3. Precision of this timestamp varies between user agents
4. Different scope
OK, I GOT IT. NOW WHAT?
HIGH RESOLUTION TIME
API
WHAT IT DOES?
Allows to accurately retrieve the number of milliseconds from
the navigationStart attribute (belongs to the
).
Navigation
Timing API
USE CASES
Work with animation at high FPS rate
Ensure a perfect audio-video synchronization
METHODS
The only method exposed is now().
EXAMPLE
var startTime = performance.now();
// A time consuming function
foo();
var test1 = performance.now();
// Another time consuming function
bar();
var test2 = performance.now();
// Print results
console.log("Test1: " + (test1 ‐ startTime));
console.log("Test2: " + (test2 ‐ test1));
BROWSERS SUPPORT
DESKTOP BROWSERS SUPPORT
Explorer Chrome Safari Firefox Opera
10+ 20+(-webkit)
24+
8+ 15+ 15+
Dataupdatedto18thApril2015
MOBILE BROWSERS SUPPORT
Explorer Android Chrome Safari Firefox Opera*
10+ 4.4+ 24+ 8
8.1+(None)
15+ None
Dataupdatedto18thApril2015
*InthiscaseOperastandsforOperaMini
HOW TO USE IT NOW
window.performance = window.performance || {};
performance.now = performance.now ||
                  function() { return Date.now(); };
DEMO
Test 1: Count until 100000
Test 2: Count until 1000000
Run demo
Alldemoscanbefoundatandarepartofmy .HTML5APIdemosrepository
TOO MANY VARS!
USER TIMING API
WHAT IT DOES?
Allows to accurately measure and store performance of a
JavaScript code
USE CASES
Performance testing
PROPERTIES
name
entryType
startTime
duration
METHODS
mark()
clearMarks()
measure()
clearMeasures()
getEntriesByType()
getEntriesByName()
EXAMPLE 1/2
// store the start and the end time of foo()
performance.mark('startTime1');
foo();
performance.mark('endTime1')
// store the start and the end time of bar()
performance.mark('startTime2');
bar();
performance.mark('endTime2');
// store the differences of the timings
performance.measure('durationTime1', 'startTime1', 'endTime1');
performance.measure('durationTime2', 'startTime2', 'endTime2');
EXAMPLE 2/2
perfMeasures = performance.getEntriesByType('measure');
// Prints the measures calculated
for (var i = 0; i < perfMeasures.length; i++) {
   console.log(
      'Name: ' + perfMeasures[i].name + ' ‐ ' +
      'Duration: ' + perfMeasures[i].duration
   );
}
BROWSERS SUPPORT
DESKTOP BROWSERS SUPPORT
Explorer Chrome Safari Firefox Opera
10+ 25+ None None 15+
Dataupdatedto18thApril2015
MOBILE BROWSERS SUPPORT
Explorer Android Chrome Safari Firefox Opera
10+ 4.4+ 25+ None None None
Dataupdatedto18thApril2015
HOW TO USE IT NOW
usertiming.js
DEMO
Test 1: Count until 100000
Test 2: Count until 1000000
Run demo
Alldemoscanbefoundatandarepartofmy .HTML5APIdemosrepository
IS IT ONLY THAT?
Navigation Timing API
Resource Timing API
Frame Timing
and much more Editor's Drafts
DEMO NAVIGATION TIMING API
TIMING INFO
navigationStart: 1432396846180
unloadEventStart: 1432396846189
unloadEventEnd: 1432396846189
redirectStart: 0
redirectEnd: 0
fetchStart: 1432396846181
domainLookupStart: 1432396846181
domainLookupEnd: 1432396846181
connectStart: 1432396846181
connectEnd: 1432396846181
secureConnectionStart: 0
DEMO RESOURCE TIMING API
initiatorType: img
redirectStart: 0
redirectEnd: 0
fetchStart: 83.92900001490489
domainLookupStart: 83.92900001490489
domainLookupEnd: 83.92900001490489
connectStart: 83.92900001490489
connectEnd: 83.92900001490489
secureConnectionStart: 0
requestStart: 140.37000003736466
responseStart: 144.170000043232
responseEnd: 151.20600000955164
name: http://localhost/people-dont-give-a-fuck-of-
...Better for Devices
PAGE VISIBILITY API
WHAT IT DOES?
Provides information about the page visibility's status
Fires events about changes of the page visibility's status
USE CASES
Stop sending requests to the server for updates
Pause a video or a song
Stop the time counter of an intermediate ads page
PROPERTIES
hidden
visibilityState (hidden, visible, prerender, unloaded)
EVENTS
The only event exposed is visibilitychange.
EXAMPLE
var views = 0;
function countViews() {
   if (!document.hidden) {
      views++;
      console.log('Visit ' + views);
   }
}
// Runs the function the first time
countViews();
// Listens for visibilitychange
document.addEventListener('visibilitychange', countViews);
BROWSERS SUPPORT
DESKTOP BROWSERS SUPPORT
Explorer Chrome* Safari Firefox Opera*
10+ 14+(-webkit)
33+
6.1+ 10+(-moz)
18+
12.10+
15+(-webkit)
20+
Dataupdatedto18thApril2015
MOBILE BROWSERS SUPPORT
Explorer Android Chrome Safari Firefox Opera
10+ 4.4+(-webkit) 13+(-webkit)
33+
7.0+ 10+(-moz)
18+
None
Dataupdatedto18thApril2015
HOW TO USE IT NOW
visibly.js
Visibility.js
DEMO
Run demo
Alldemoscanbefoundatandarepartofmy .HTML5APIdemosrepository
BATTERY STATUS API
WHAT IT DOES?
Provides information about the system's battery charge level
Fires events about changes of the battery level or status
USE CASES
Slow down a process
Save changes more frequently to prevent data loss
Deny to start a critical and time consuming process
METHODS
The only method exposed is getBattery().
PROPERTIES
charging
chargingTime
dischargingTime
level
EVENTS
chargingchange
chargingtimechange
dischargingtimechange
levelchange
EXAMPLE
navigator.getBattery().then(function(battery) {
   // Print if battery is charging or not
   console.log("The device's battery is " +
      (battery.charging ? "" : "not") + " charging");
   // Print the current battery level
   console.log("The level of the battery is " +
      (battery.level * 100) + "%");
});
BROWSERS SUPPORT
DESKTOP BROWSERS SUPPORT
Explorer Chrome Safari Firefox Opera
None 37*
38+
None 10+**(-moz)
16+**
25+
Dataupdatedto18thApril2015
*YouhavetoactivatetheflagExperimentalWebPlatformfeatures
**Implementsanoldversionofthespecificationsthatdidn'tusepromisesbutexposedtheinformationthrough
window.navigator.battery.
MOBILE BROWSERS SUPPORT
Explorer Android Chrome Safari Firefox Opera
None 40+ 37*
38+
None 10+**(-moz)
16+**
None
Dataupdatedto18thApril2015
*YouhavetoactivatetheflagExperimentalWebPlatformfeatures
**Implementsanoldversionofthespecificationsthatdidn'tusepromisesbutexposedtheinformationthrough
window.navigator.battery.
HOW TO USE IT NOW
NO POLYFILL AVAILABLE
DEMO
Run demo
Alldemoscanbefoundatandarepartofmy .HTML5APIdemosrepository
...Better for Users
VIBRATION API
WHAT IT DOES?
Provides tactile feedback
USE CASES
Vibrate on an explosion in a movie
Vibrate when someone punches you in a fighting game
Vibrate when in a racing game a car crashes
METHODS
The only method exposed is vibrate().
EXAMPLE
// Vibrate once for 1 second
navigator.vibrate(1000);
// Vibrate twice. One time for 1 second,
// then a pause of half a second,
// and then vibrate for 2 seconds
navigator.vibrate([1000, 500, 2000]);
// Cancelling Vibrations
navigator.vibrate(0);
// Alternatively
navigator.vibrate([]);
BROWSERS SUPPORT
DESKTOP BROWSERS SUPPORT
Explorer Chrome Safari Firefox Opera
None 30+*
32+
None 11+(-moz)
16+
17+*
19+
Dataupdatedto18thApril2015
*YouhavetoactivatetheflagExperimentalWebPlatformfeatures
MOBILE BROWSERS SUPPORT
Explorer Android Chrome Safari Firefox Opera
None 4.4+ 30+*
32+
None 11+(-moz)
16+
None
Dataupdatedto18thApril2015
*YouhavetoactivatetheflagExperimentalWebPlatformfeatures
HOW TO USE IT NOW
NO POLYFILL AVAILABLE
TO BE HONEST...
mozVibrate-polyfill
DEMO
Vibrate Once Vibrate Thrice Stop
Alldemoscanbefoundatandarepartofmy .HTML5APIdemosrepository
GETUSERMEDIA API
WHAT IT DOES?
Provides access to multimedia streams (video, audio, or both)
from local devices
USE CASES
Real-time communication (chat)
Recording tutorial or lesson for online courses
Home or work surveillance
METHODS
The only method exposed is getUserMedia().
EXAMPLE
<video id="video" autoplay="autoplay" controls></video>
var video = document.getElementById("video");
navigator.getUserMedia(
   {
      video: true,
      audio: true
   },
   function(stream) {
      video.src = stream;
      video.play();
   },
   function(error) {
      console.log("Error: " + error.code);
   }
);
BROWSERS SUPPORT
DESKTOP BROWSERS SUPPORT
Explorer Chrome Safari Firefox Opera
None 21+(-webkit) None 17+(-moz) 12+
15+(None)
18+(-webkit)
Dataupdatedto18thApril2015
MOBILE BROWSERS SUPPORT
Explorer Android Chrome Safari Firefox Opera
None 40+ 21+(-webkit) None 24+(-moz) None
Dataupdatedto18thApril2015
HOW TO USE IT NOW
getUserMedia.js
DEMO
0:00
Play demo Stop demo
Alldemoscanbefoundatandarepartofmy .HTML5APIdemosrepository
MORE EXAMPLES?
AMBIENT LIGHT API
Provides information about the ambient light level in terms of lux
units, as measured by a light sensor of a device.
0 ≤ value < 50: Dark environment, use light colors on a dark
background
50 ≤ value < 10000: Normal environment
value ≥ 10000: Very bright environment, use dark colors on a
light background
EXAMPLE
ImagescourtesyofPatrickCatanzariti( )@thatpatrickguy
PROXIMITY API
Events that provide information about the distance between a
device and an object, as measured by a proximity sensor.
USE CASE
You're driving while listening to music using a web service. You
can stop the music with a gesture.
EXAMPLE
SO...
DO YOU LIKE APIS? OF COURSE YOU DO!
Device Orientation API
Geolocation API
Network Information API
Speech Synthesis API
Wake Lock API
Web Alarms API
Web Notification API
Web Speech API
...
TO LEARN MORE...
ABOUT THESE AND OTHER APIS
HTML5 API DEMOS
https://github.com/AurelioDeRosa/HTML5-API-demos
A repository I created and maintain where you can find
information about many JavaScript and HTML5 APIs.
CONCLUSIONS
Future of web development is bright
...but some browsers aren't prepared yet
Focus on goals, not technologies
Take care of performances
Take care of devices' resources
Take care of your users' experience
THANK YOU!
QUESTIONS?
CONTACTS
Website:
Email:
Twitter:
www.audero.it
a.derosa@audero.it
@AurelioDeRosa

More Related Content

Viewers also liked

4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz...
4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz...4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz...
4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz...PROIDEA
 
PLNOG15: Software Define Storage: mass storage solutions built on network inf...
PLNOG15: Software Define Storage: mass storage solutions built on network inf...PLNOG15: Software Define Storage: mass storage solutions built on network inf...
PLNOG15: Software Define Storage: mass storage solutions built on network inf...PROIDEA
 
4Developers 2015: mac.NET czyli ASP.NET vNext na przykładzie - Jakub Gutkowski
4Developers 2015: mac.NET czyli ASP.NET vNext na przykładzie - Jakub Gutkowski4Developers 2015: mac.NET czyli ASP.NET vNext na przykładzie - Jakub Gutkowski
4Developers 2015: mac.NET czyli ASP.NET vNext na przykładzie - Jakub GutkowskiPROIDEA
 
Atmosphere Conference 2015: DevOps and the Need for Speed
Atmosphere Conference 2015: DevOps and the Need for SpeedAtmosphere Conference 2015: DevOps and the Need for Speed
Atmosphere Conference 2015: DevOps and the Need for SpeedPROIDEA
 
CONFidence 2015: Nietypowe problemy bezpieczeństwa w aplikacjach webowych - M...
CONFidence 2015: Nietypowe problemy bezpieczeństwa w aplikacjach webowych - M...CONFidence 2015: Nietypowe problemy bezpieczeństwa w aplikacjach webowych - M...
CONFidence 2015: Nietypowe problemy bezpieczeństwa w aplikacjach webowych - M...PROIDEA
 
JDD2014: Code review - jak zyskać więcej niż tracić? - Sebastian Malaca
JDD2014: Code review - jak zyskać więcej niż tracić? - Sebastian MalacaJDD2014: Code review - jak zyskać więcej niż tracić? - Sebastian Malaca
JDD2014: Code review - jak zyskać więcej niż tracić? - Sebastian MalacaPROIDEA
 
PLNOG15: How to effectively build the networks with 1.1 POPC programme? - Mar...
PLNOG15: How to effectively build the networks with 1.1 POPC programme? - Mar...PLNOG15: How to effectively build the networks with 1.1 POPC programme? - Mar...
PLNOG15: How to effectively build the networks with 1.1 POPC programme? - Mar...PROIDEA
 
Maggio senza frontiere: da Francoforte a Disney
Maggio senza frontiere: da Francoforte a DisneyMaggio senza frontiere: da Francoforte a Disney
Maggio senza frontiere: da Francoforte a DisneyNikuraTw
 
JDD2014: How to rebuild monolithic application to micro services architecture...
JDD2014: How to rebuild monolithic application to micro services architecture...JDD2014: How to rebuild monolithic application to micro services architecture...
JDD2014: How to rebuild monolithic application to micro services architecture...PROIDEA
 
PLNOG 13: Piotr Głaska: Quality of service monitoring in IP networks
PLNOG 13: Piotr Głaska: Quality of service monitoring in IP networksPLNOG 13: Piotr Głaska: Quality of service monitoring in IP networks
PLNOG 13: Piotr Głaska: Quality of service monitoring in IP networksPROIDEA
 
PLNOG14: Zmiany w prawie konsumenckim i ochronie prywatności w 2015 r. - Artu...
PLNOG14: Zmiany w prawie konsumenckim i ochronie prywatności w 2015 r. - Artu...PLNOG14: Zmiany w prawie konsumenckim i ochronie prywatności w 2015 r. - Artu...
PLNOG14: Zmiany w prawie konsumenckim i ochronie prywatności w 2015 r. - Artu...PROIDEA
 
Comments from the social point of view
Comments from the social point of viewComments from the social point of view
Comments from the social point of viewSIANI
 
PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...
PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...
PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...PROIDEA
 
4Developers: Jak nie zasnąć na telekonferencjach? - Paweł Wrzeszcz
4Developers: Jak nie zasnąć na telekonferencjach? - Paweł Wrzeszcz4Developers: Jak nie zasnąć na telekonferencjach? - Paweł Wrzeszcz
4Developers: Jak nie zasnąć na telekonferencjach? - Paweł WrzeszczPROIDEA
 
Integrated soil fertility management systems and Striga in Western Kenya
 Integrated soil fertility management systems and Striga in Western Kenya Integrated soil fertility management systems and Striga in Western Kenya
Integrated soil fertility management systems and Striga in Western KenyaSIANI
 

Viewers also liked (19)

4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz...
4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz...4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz...
4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz...
 
PLNOG15: Software Define Storage: mass storage solutions built on network inf...
PLNOG15: Software Define Storage: mass storage solutions built on network inf...PLNOG15: Software Define Storage: mass storage solutions built on network inf...
PLNOG15: Software Define Storage: mass storage solutions built on network inf...
 
4Developers 2015: mac.NET czyli ASP.NET vNext na przykładzie - Jakub Gutkowski
4Developers 2015: mac.NET czyli ASP.NET vNext na przykładzie - Jakub Gutkowski4Developers 2015: mac.NET czyli ASP.NET vNext na przykładzie - Jakub Gutkowski
4Developers 2015: mac.NET czyli ASP.NET vNext na przykładzie - Jakub Gutkowski
 
Atmosphere Conference 2015: DevOps and the Need for Speed
Atmosphere Conference 2015: DevOps and the Need for SpeedAtmosphere Conference 2015: DevOps and the Need for Speed
Atmosphere Conference 2015: DevOps and the Need for Speed
 
CONFidence 2015: Nietypowe problemy bezpieczeństwa w aplikacjach webowych - M...
CONFidence 2015: Nietypowe problemy bezpieczeństwa w aplikacjach webowych - M...CONFidence 2015: Nietypowe problemy bezpieczeństwa w aplikacjach webowych - M...
CONFidence 2015: Nietypowe problemy bezpieczeństwa w aplikacjach webowych - M...
 
seven c,s
seven c,sseven c,s
seven c,s
 
JDD2014: Code review - jak zyskać więcej niż tracić? - Sebastian Malaca
JDD2014: Code review - jak zyskać więcej niż tracić? - Sebastian MalacaJDD2014: Code review - jak zyskać więcej niż tracić? - Sebastian Malaca
JDD2014: Code review - jak zyskać więcej niż tracić? - Sebastian Malaca
 
Wimbledon looks
Wimbledon looksWimbledon looks
Wimbledon looks
 
PLNOG15: How to effectively build the networks with 1.1 POPC programme? - Mar...
PLNOG15: How to effectively build the networks with 1.1 POPC programme? - Mar...PLNOG15: How to effectively build the networks with 1.1 POPC programme? - Mar...
PLNOG15: How to effectively build the networks with 1.1 POPC programme? - Mar...
 
Maggio senza frontiere: da Francoforte a Disney
Maggio senza frontiere: da Francoforte a DisneyMaggio senza frontiere: da Francoforte a Disney
Maggio senza frontiere: da Francoforte a Disney
 
JDD2014: How to rebuild monolithic application to micro services architecture...
JDD2014: How to rebuild monolithic application to micro services architecture...JDD2014: How to rebuild monolithic application to micro services architecture...
JDD2014: How to rebuild monolithic application to micro services architecture...
 
PLNOG 13: Piotr Głaska: Quality of service monitoring in IP networks
PLNOG 13: Piotr Głaska: Quality of service monitoring in IP networksPLNOG 13: Piotr Głaska: Quality of service monitoring in IP networks
PLNOG 13: Piotr Głaska: Quality of service monitoring in IP networks
 
Top Tips to enhance your Wardrobe
Top Tips to enhance your WardrobeTop Tips to enhance your Wardrobe
Top Tips to enhance your Wardrobe
 
PLNOG14: Zmiany w prawie konsumenckim i ochronie prywatności w 2015 r. - Artu...
PLNOG14: Zmiany w prawie konsumenckim i ochronie prywatności w 2015 r. - Artu...PLNOG14: Zmiany w prawie konsumenckim i ochronie prywatności w 2015 r. - Artu...
PLNOG14: Zmiany w prawie konsumenckim i ochronie prywatności w 2015 r. - Artu...
 
Comments from the social point of view
Comments from the social point of viewComments from the social point of view
Comments from the social point of view
 
PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...
PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...
PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...
 
4Developers: Jak nie zasnąć na telekonferencjach? - Paweł Wrzeszcz
4Developers: Jak nie zasnąć na telekonferencjach? - Paweł Wrzeszcz4Developers: Jak nie zasnąć na telekonferencjach? - Paweł Wrzeszcz
4Developers: Jak nie zasnąć na telekonferencjach? - Paweł Wrzeszcz
 
Integrated soil fertility management systems and Striga in Western Kenya
 Integrated soil fertility management systems and Striga in Western Kenya Integrated soil fertility management systems and Striga in Western Kenya
Integrated soil fertility management systems and Striga in Western Kenya
 
Inflation
InflationInflation
Inflation
 

Similar to 4Developers 2015: People don't give a f**k of JavaScript - Aurelio De Rosa

Speak the Web 15.02.2010
Speak the Web 15.02.2010Speak the Web 15.02.2010
Speak the Web 15.02.2010Patrick Lauke
 
Javascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basicsJavascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basicsNet7
 
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 RomaniaChristian Heilmann
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010Patrick Lauke
 
Building intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryBuilding intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryAlek Davis
 
Firefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webFirefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webChristian Heilmann
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Patrick Lauke
 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global dominationStfalcon Meetups
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.JooinK
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWTFrancesca Tosi
 
Utilizing HTML5 APIs
Utilizing HTML5 APIsUtilizing HTML5 APIs
Utilizing HTML5 APIsIdo Green
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopmentgillygize
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-airbrucelawson
 
Windows Phone and Windows 8 application development
Windows Phone and Windows 8 application developmentWindows Phone and Windows 8 application development
Windows Phone and Windows 8 application developmentChristos Matskas
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henriksonoscon2007
 
Transmission2 25.11.2009
Transmission2 25.11.2009Transmission2 25.11.2009
Transmission2 25.11.2009Patrick Lauke
 
Get Ahead with HTML5 on Moible
Get Ahead with HTML5 on MoibleGet Ahead with HTML5 on Moible
Get Ahead with HTML5 on Moiblemarkuskobler
 
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 AppsDoris Chen
 

Similar to 4Developers 2015: People don't give a f**k of JavaScript - Aurelio De Rosa (20)

Speak the Web 15.02.2010
Speak the Web 15.02.2010Speak the Web 15.02.2010
Speak the Web 15.02.2010
 
Javascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basicsJavascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basics
 
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
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
 
Building intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryBuilding intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQuery
 
Firefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webFirefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-web
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 
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.
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
 
Utilizing HTML5 APIs
Utilizing HTML5 APIsUtilizing HTML5 APIs
Utilizing HTML5 APIs
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 
Windows Phone and Windows 8 application development
Windows Phone and Windows 8 application developmentWindows Phone and Windows 8 application development
Windows Phone and Windows 8 application development
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
 
Transmission2 25.11.2009
Transmission2 25.11.2009Transmission2 25.11.2009
Transmission2 25.11.2009
 
Get Ahead with HTML5 on Moible
Get Ahead with HTML5 on MoibleGet Ahead with HTML5 on Moible
Get Ahead with HTML5 on Moible
 
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
 

Recently uploaded

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 

Recently uploaded (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

4Developers 2015: People don't give a f**k of JavaScript - Aurelio De Rosa