The A to Z of developing for the web
-
Upload
matt-wood -
Category
Technology
-
view
4.778 -
download
0
description
Transcript of The A to Z of developing for the web
![Page 1: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/1.jpg)
Developing for the webfrom Ajax to the Zen Garden
![Page 2: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/2.jpg)
A is for AJAX
![Page 3: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/3.jpg)
Refresh without reloading
![Page 4: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/4.jpg)
Web apps rather than web pages
![Page 5: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/5.jpg)
AJAX is disruptive
![Page 6: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/6.jpg)
B is for Browsers
![Page 7: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/7.jpg)
Know thy browser
![Page 8: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/8.jpg)
Opera1%Netscape
13%
IE22%
Safari23%
Firefox41%
![Page 9: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/9.jpg)
Opera1%Netscape
13%
IE22%
Safari23%
Firefox41%
2.0 = 90%
![Page 10: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/10.jpg)
Opera1%Netscape
13%
IE22%
Safari23%
Firefox41%
IE6 = 66%
IE7 = 33%
![Page 11: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/11.jpg)
Code to standards
![Page 12: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/12.jpg)
Test[even on Opera]
![Page 13: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/13.jpg)
C is for CSS
![Page 14: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/14.jpg)
Separate data from design
![Page 15: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/15.jpg)
<div></div>
![Page 16: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/16.jpg)
Tables for data
![Page 17: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/17.jpg)
D is for the DOM
![Page 18: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/18.jpg)
Document Object Model
![Page 19: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/19.jpg)
Manipulate via JS
![Page 20: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/20.jpg)
E is for 404 errors
![Page 21: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/21.jpg)
Make them count
Defensive Design for the Web,Linderman and Fried
![Page 22: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/22.jpg)
F is for Firebug
![Page 23: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/23.jpg)
Page metrics
![Page 24: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/24.jpg)
![Page 25: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/25.jpg)
Javascript debugger
![Page 26: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/26.jpg)
![Page 27: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/27.jpg)
getfirebug.com
![Page 28: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/28.jpg)
G is for Gigabytes
![Page 29: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/29.jpg)
Keep pages small!
![Page 30: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/30.jpg)
Keep pages small!
Don’t obfuscate!
![Page 31: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/31.jpg)
Shrink what you can
http://groups.google.com/group/prototype-core/files
![Page 32: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/32.jpg)
Minimise connections
[Firebug can help]
![Page 33: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/33.jpg)
Compressing Javascript is harder than it seems
![Page 34: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/34.jpg)
H is for HTML 5.0
![Page 35: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/35.jpg)
HTML extensions
![Page 36: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/36.jpg)
DOM extensions
![Page 37: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/37.jpg)
Pain relief[Long time coming]
![Page 38: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/38.jpg)
twitter.com/WHATWG
![Page 39: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/39.jpg)
I is for Internet Explorer
![Page 40: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/40.jpg)
IE 7 will quickly dominate
![Page 41: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/41.jpg)
Test against it!
![Page 42: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/42.jpg)
J is for Javascript
![Page 43: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/43.jpg)
var req;
function loadXMLDoc(url) { req = false; // branch for native XMLHttpRequest object if(window.XMLHttpRequest) { try { req = new XMLHttpRequest(); } catch(e) { req = false; } // branch for IE/Windows ActiveX version } else if(window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { req = false; } } } if(req) { req.onreadystatechange = processReqChange; req.open("GET", url, true); req.send(""); }}
![Page 44: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/44.jpg)
Prototype
prototypejs.org
![Page 45: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/45.jpg)
function update_bookmarks() { var url = “common/bookmarks”; var data = “user=13&start=1000”; var request = new Ajax.Request(url, { method: ‘get’, parameters: data, onComplete: request_complete, });}
function request_complete(response) { $(‘view’).innerHTML = response.responseText;}
![Page 46: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/46.jpg)
Scriptaculous for visual effects
script.aculo.us
![Page 47: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/47.jpg)
Other libraries are available
developer.yahoo.com/yuijquery.com
dojotoolkit.org
![Page 48: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/48.jpg)
jMaki
ajax.dev.java.net
![Page 49: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/49.jpg)
Selenium forautomated testing
openqa.org/selenium
![Page 50: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/50.jpg)
K is for keywords
![Page 51: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/51.jpg)
L is for links
![Page 52: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/52.jpg)
M is for Microformats
![Page 53: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/53.jpg)
Documents vs Data
![Page 54: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/54.jpg)
Add value
![Page 55: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/55.jpg)
<tr><th class="two-column">Gene</th><td class="two-column"><table width="100%" cellpadding="4"><tr><td><strong><a href="http://www.gene.ucl.ac.uk/cgi-bin/nomenclature/get_data.pl?hgnc_id=1101">BRCA2</a></div></strong> (HGNC Symbol)</td><td><span class="small"> To view all Ensembl genes linked to the name <a href="/Homo_sapiens/featureview?type=Gene;id=BRCA2">click here</a>.</span></td></tr></table><p>This gene is a member of the Human CCDS set: <a href="http://www.ncbi.nlm.nih.gov/CCDS/CcdsBrowse.cgi?REQUEST=CCDS&DATA=CCDS9344">CCDS9344</a> </p></td></tr>
![Page 56: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/56.jpg)
<tr class="hgene"><th class="two-column">Gene</th><td class="two-column"><table width="100%" cellpadding="4"><tr><td><strong><a href="http://www.gene.ucl.ac.uk/cgi-bin/nomenclature/get_data.pl?hgnc_id=1101" rel="hgnc_name">BRCA2</a></div></strong> (HGNC Symbol)</td><td><span class="small"> To view all Ensembl genes linked to the name <a href="/Homo_sapiens/featureview?type=Gene;id=BRCA2" rel="gene_list" >click here</a>.</span></td></tr></table><p>This gene is a member of the Human CCDS set: <a href="http://www.ncbi.nlm.nih.gov/CCDS/CcdsBrowse.cgi?REQUEST=CCDS&DATA=CCDS9344" rel="ccds">CCDS9344</a> </p></td></tr>
![Page 57: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/57.jpg)
Styling. Parsing.
![Page 58: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/58.jpg)
microformats.org
![Page 59: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/59.jpg)
bioformats.org
![Page 60: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/60.jpg)
N is for New Era
![Page 61: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/61.jpg)
Read / write web
Push button publishing
![Page 62: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/62.jpg)
Can our web site be our API?
domain.com/events/list?all
![Page 63: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/63.jpg)
Mashups
twittervision.com
![Page 64: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/64.jpg)
Yahoo! Pipes for Biology?
pipes.yahoo.com
![Page 65: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/65.jpg)
O is for OPML
![Page 66: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/66.jpg)
Outline Processor ML
Hierarchical structure
![Page 67: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/67.jpg)
P is for PHP
![Page 68: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/68.jpg)
Now at 5.2
php.net
![Page 69: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/69.jpg)
CakePHP
cakephp.org
![Page 70: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/70.jpg)
Q is for quirks mode
![Page 71: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/71.jpg)
Legacy
http://www.quirksmode.org/css/quirksmode.html
![Page 72: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/72.jpg)
XHTML
![Page 73: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/73.jpg)
R is for RDF
![Page 74: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/74.jpg)
Add meaning to data in documents
![Page 75: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/75.jpg)
<Gene rdf:about="#1110002A21Rik"> <chr>chr1</chr> <hasVariant rdf:parseType="Resource"> <representedBy rdf:resource="#gi13385627"/> </hasVariant> <hasVariant rdf:parseType="Resource"> <representedBy rdf:resource="#gi18043402"/> </hasVariant> <strand>+</strand> </Gene>
![Page 76: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/76.jpg)
RDF Schema, SPARQL
![Page 77: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/77.jpg)
S is for the Semantic Web
![Page 78: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/78.jpg)
The Semantic Web is not a separate Web but an extension of the current one, in which information is
given well-defined meaning, better enabling computers and people to work in cooperation
“”Sir Tim, 2002
![Page 79: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/79.jpg)
too ambitious?
![Page 80: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/80.jpg)
GRDDL
Gleaning Resource Descriptions from Dialects of Languages
![Page 81: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/81.jpg)
GRDDL
Gleaning Resource Descriptions from Dialects of Languages
XSLT for microformats
![Page 82: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/82.jpg)
T is for Tagging
![Page 83: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/83.jpg)
![Page 84: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/84.jpg)
U is for friendly URLs
![Page 86: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/86.jpg)
V is for Validation
![Page 87: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/87.jpg)
HTMLvalidator.w3.org
![Page 88: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/88.jpg)
CSSjigsaw.w3.org/css-validator
![Page 89: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/89.jpg)
W is for WSDL
![Page 90: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/90.jpg)
Automatic web service discovery and definition
![Page 91: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/91.jpg)
X is for XHTML
![Page 92: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/92.jpg)
HTML implemented as valid XML
![Page 93: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/93.jpg)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>untitled</title> </head>
<body>:</body></html>
![Page 94: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/94.jpg)
Close tags
<li></li><br />
![Page 95: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/95.jpg)
Cross browser
![Page 96: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/96.jpg)
Easy to parse
![Page 97: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/97.jpg)
Y is for YouTube
![Page 98: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/98.jpg)
YouTube andbioinformatics
![Page 99: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/99.jpg)
YouTube andbioinformatics( )
![Page 100: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/100.jpg)
Z is for the Zen Garden
![Page 101: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/101.jpg)
csszengarden.com
![Page 102: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/102.jpg)
1 HTML pageMany designs
![Page 103: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/103.jpg)
![Page 104: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/104.jpg)
![Page 105: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/105.jpg)
![Page 106: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/106.jpg)
Photos: Dave GormanGraffiti: Eine
flickr.com/photos/dgbalancesrocksartofthestate.co.uk
![Page 107: The A to Z of developing for the web](https://reader033.fdocuments.us/reader033/viewer/2022060122/55950a171a28ab94248b45c9/html5/thumbnails/107.jpg)
Thank you