Embed presentation
Downloaded 356 times




















































![[Source: Aaron Olaf, Flickr]21:02](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-53-2048.jpg&f=jpg&w=240)
![[Source: Mercedes USA, http://mbusa.com/]21:02](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-54-2048.jpg&f=jpg&w=240)




![Modernizr.[featureName]if (Modernizr.canvas) { //Use It! }.[featureName] || .no-[featureName].no-canvas { //Styles }.canvas { //Other Styles}](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-59-2048.jpg&f=jpg&w=240)














![fixing IE<head><meta charset="utf-8" /><title>My Weblog</title><!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]--></head>*Polyfill required to trigger styling in old IE21:02](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-74-2048.jpg&f=jpg&w=240)







![fixing IE<head><!--[if IE]><script src="excanvas.js"></script><![endif]--></head>Explorercanvas21:02](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-82-2048.jpg&f=jpg&w=240)





















![dragstartdrope.dataTransfer.setData([MIME type], [payload])e.dataTransfer.getData([MIME type])e.dataTransfer.files; //FileList object](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-104-2048.jpg&f=jpg&w=240)







![web sqlapi: openDatabasedb = openDatabase("html5demos", "1.0", "HTML 5 Database APIexample", 200000);if (db) {db.transaction(function(tx) {tx.executeSql("CREATE TABLE IF NOT EXISTS tweets (id REAL UNIQUE,text TEXT, created_at TEXT, screen_name TEXT,mention BOOLEAN)", [], callback);});}db.transaction(function (tx) {tx.executeSql('SELECT * FROM tweets WHERE mention = ? AND id > ? ORDERBY id DESC', [mention, latest], callbackFunc);});support: Safari, Chrome, Opera“This specification has reached an impasse: allinterested implementors have used the sameSQL backend (Sqlite), but we need multipleindependent implementations to proceed alonga standardisation path.”–W3C](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-112-2048.jpg&f=jpg&w=240)







![file apiaccess to local file system & data streamingvar file = e.dataTransfer.files[0],reader = new FileReader();reader.onload = function (event) {var dataUrl = event.target.result;};reader.readAsDataURL(file);.readAsBinaryString(file);.readAsText(file);.readAsArrayBuffer(file);support: IE10, FF4, Chrome, Opera 11.1](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-120-2048.jpg&f=jpg&w=240)






























































![var [window].user = "";function [window].doInitStuff(){user = "Todd";}function [window].loadSomething(){if (user == "Todd") ...}function[window].handleButtonClick(){...}function [window].harlemShake(){...yourFile.js](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-183-2048.jpg&f=jpg&w=240)


![SUPER PATTERN(function(window,$,c){var _private = "Todd";function privateClass(){}function myWidget(){}myWidget.doSomething = function(){};window.myWidget = myWidget;}(window,jQuery,console));Immediately Invoked Function Expressions (IIFE) +Global Imports + [Prototype]Prove It](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-186-2048.jpg&f=jpg&w=240)











![DOM SPEED WITHSTRINGS & INNERHTMLfunction doSomething{...var domString = "<ul>";for(var i = 0; i < 10; i += 1){domString += "<li>"+ i +"</li>";}domString += "</ul>"$("body")[0].innerHTML = domString;}Prove It](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-198-2048.jpg&f=jpg&w=240)
![<script type="text/x-kendo-template" id="tmp"><ul>#for(var i = 0; i < data.length; i += 1){#<li>#= data[i] #</li>#}#</ul></script>function doSomething(){var myData = [1,..,10];var template = kendo.template($("#tmp").html());$("body").append(template(myData));}21:02BESTProve It](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-199-2048.jpg&f=jpg&w=240)


![A.jsB.jsManual (index.html)<script src="B.js"></script><script src="A.js"></script><script src="main.js"></script>Module Loader (main.js)require(["A","B"], function(){//Dependencies are loaded});](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-202-2048.jpg&f=jpg&w=240)










![[before CSS]<html><head>…</head><body><table><tr><td><font size=‚3‛ color=‚red‛><h1>Hello World!</h1></font></td></tr><font color=‚green‛><font face=‚Tahoma‛><h2>I’m green! I think.</h2></font><p>Lorem ipsum</p></font></table></body></html>{HTML}](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-213-2048.jpg&f=jpg&w=240)










![*E[foo]E[foo="bar"]E[foo~="bar"]E[foo|="en"]E:first-childE:lang(fr)E:hoverE:focusE:disabledE::beforeE::afterE > FE + FEE:linkE:activeE:visitedE::first-lineE::first-letterE.warningE#myidE FE[foo^="bar"]E[foo$="bar"]E[foo*="bar"]E:rootE:nth-child(n)E:nth-last-child(n)E:nth-of-type(n)E:nth-last-of-type(n)E:last-childE:first-of-typeE:last-of-typeE:only-childE:only-of-typeE:emptyE:targetE:enabledE:checkedE:not(s)E ~ F](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-224-2048.jpg&f=jpg&w=240)




















The document details a workshop agenda led by Todd Anglin on essential HTML, JavaScript, and CSS, highlighting topics relevant to modern web development using HTML5 and its features. It emphasizes the importance of progressive enhancement, browser compatibility, and practical coding strategies to enhance user experience across different platforms. Additionally, it discusses various HTML5 capabilities like geolocation, local storage, and multimedia support, along with coding best practices for developing contemporary web applications.




















































![[Source: Aaron Olaf, Flickr]21:02](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-53-2048.jpg&f=jpg&w=240)
![[Source: Mercedes USA, http://mbusa.com/]21:02](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-54-2048.jpg&f=jpg&w=240)




![Modernizr.[featureName]if (Modernizr.canvas) { //Use It! }.[featureName] || .no-[featureName].no-canvas { //Styles }.canvas { //Other Styles}](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-59-2048.jpg&f=jpg&w=240)














![fixing IE<head><meta charset="utf-8" /><title>My Weblog</title><!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]--></head>*Polyfill required to trigger styling in old IE21:02](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-74-2048.jpg&f=jpg&w=240)







![fixing IE<head><!--[if IE]><script src="excanvas.js"></script><![endif]--></head>Explorercanvas21:02](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-82-2048.jpg&f=jpg&w=240)





















![dragstartdrope.dataTransfer.setData([MIME type], [payload])e.dataTransfer.getData([MIME type])e.dataTransfer.files; //FileList object](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-104-2048.jpg&f=jpg&w=240)







![web sqlapi: openDatabasedb = openDatabase("html5demos", "1.0", "HTML 5 Database APIexample", 200000);if (db) {db.transaction(function(tx) {tx.executeSql("CREATE TABLE IF NOT EXISTS tweets (id REAL UNIQUE,text TEXT, created_at TEXT, screen_name TEXT,mention BOOLEAN)", [], callback);});}db.transaction(function (tx) {tx.executeSql('SELECT * FROM tweets WHERE mention = ? AND id > ? ORDERBY id DESC', [mention, latest], callbackFunc);});support: Safari, Chrome, Opera“This specification has reached an impasse: allinterested implementors have used the sameSQL backend (Sqlite), but we need multipleindependent implementations to proceed alonga standardisation path.”–W3C](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-112-2048.jpg&f=jpg&w=240)







![file apiaccess to local file system & data streamingvar file = e.dataTransfer.files[0],reader = new FileReader();reader.onload = function (event) {var dataUrl = event.target.result;};reader.readAsDataURL(file);.readAsBinaryString(file);.readAsText(file);.readAsArrayBuffer(file);support: IE10, FF4, Chrome, Opera 11.1](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-120-2048.jpg&f=jpg&w=240)






























































![var [window].user = "";function [window].doInitStuff(){user = "Todd";}function [window].loadSomething(){if (user == "Todd") ...}function[window].handleButtonClick(){...}function [window].harlemShake(){...yourFile.js](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-183-2048.jpg&f=jpg&w=240)


![SUPER PATTERN(function(window,$,c){var _private = "Todd";function privateClass(){}function myWidget(){}myWidget.doSomething = function(){};window.myWidget = myWidget;}(window,jQuery,console));Immediately Invoked Function Expressions (IIFE) +Global Imports + [Prototype]Prove It](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-186-2048.jpg&f=jpg&w=240)











![DOM SPEED WITHSTRINGS & INNERHTMLfunction doSomething{...var domString = "<ul>";for(var i = 0; i < 10; i += 1){domString += "<li>"+ i +"</li>";}domString += "</ul>"$("body")[0].innerHTML = domString;}Prove It](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-198-2048.jpg&f=jpg&w=240)
![<script type="text/x-kendo-template" id="tmp"><ul>#for(var i = 0; i < data.length; i += 1){#<li>#= data[i] #</li>#}#</ul></script>function doSomething(){var myData = [1,..,10];var template = kendo.template($("#tmp").html());$("body").append(template(myData));}21:02BESTProve It](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-199-2048.jpg&f=jpg&w=240)


![A.jsB.jsManual (index.html)<script src="B.js"></script><script src="A.js"></script><script src="main.js"></script>Module Loader (main.js)require(["A","B"], function(){//Dependencies are loaded});](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-202-2048.jpg&f=jpg&w=240)










![[before CSS]<html><head>…</head><body><table><tr><td><font size=‚3‛ color=‚red‛><h1>Hello World!</h1></font></td></tr><font color=‚green‛><font face=‚Tahoma‛><h2>I’m green! I think.</h2></font><p>Lorem ipsum</p></font></table></body></html>{HTML}](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-213-2048.jpg&f=jpg&w=240)










![*E[foo]E[foo="bar"]E[foo~="bar"]E[foo|="en"]E:first-childE:lang(fr)E:hoverE:focusE:disabledE::beforeE::afterE > FE + FEE:linkE:activeE:visitedE::first-lineE::first-letterE.warningE#myidE FE[foo^="bar"]E[foo$="bar"]E[foo*="bar"]E:rootE:nth-child(n)E:nth-last-child(n)E:nth-of-type(n)E:nth-last-of-type(n)E:last-childE:first-of-typeE:last-of-typeE:only-childE:only-of-typeE:emptyE:targetE:enabledE:checkedE:not(s)E ~ F](/image.pl?url=https%3a%2f%2fimage.slidesharecdn.com%2fhtml5-bootcamp-workshop-r5-131027191153-phpapp01%2f75%2fHTML5-Bootcamp-Essential-HTML-CSS-JavaScript-224-2048.jpg&f=jpg&w=240)


















