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

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Recently uploaded (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

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