SlideShare a Scribd company logo
1 of 130
Client Side Development
Introductory Workshop




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Introduction
Hi, Iʼm Wilfred




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Introduction
I do HTML, CSS and some Javascript




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
http://www.slideshare.net/wnas




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Application
html, css and javascript.




         Wilfred Nas - Client Side Development
         wnas.nl | twitter.com/wnas | wilfred@wnas.nl
HTML
itʼs easy.




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
NOT
if you do it right.




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Structure


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Doctypes


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot;
quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;>




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
quirksmode


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
boxmodel


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
HTML
itʼs more than tables.
   much more




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Tables


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Tables are evil?


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
nope




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Tables are beautiful


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Caption


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Thead


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
tfoot


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
tbody


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
tr


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
td


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
th


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
colspan


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
colgroup


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
rowspan


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
rowgroup


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
HTML
Itʼs more than divʼs and spanʼs




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
div


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
span


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
p


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
h1 > h6


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
em


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
strong


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
abbr


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Block & inline


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Generally, block-level elements begin
on new lines, inline elements do not




 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
id


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
class


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
validator.w3.org


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
HTML
             Itʼs about structure, NOT presentation.




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
<div class=quot;spacer-wquot;><!-- this empty spacer
  is used to make a space between vertical
           holding blocks --></div>




  Wilfred Nas - Client Side Development
  wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Do more with less
focus on the information, not the presentation.
that is what css is for.




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
http://microformats.org/




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Exercise
nu.nl
ing.nl
postbank.nl




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
break


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
If you thought html was bad, I give you...




 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
CSS


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
selector {

 property : value;
}


 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
div#id.foo p .bar { ... }


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
CSS 2.1


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
http://www.456bereastreet.com/archive/200509/
               css_21_selectors_part_1/




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Positioning


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
position : static;


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
position : relative;


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
float: left;


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
float : left;


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
IE doubles the padding and margin




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
display: inline;


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Explorer 6 Duplicate Characters Bug




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
The IE5/6 Doubled Float-Margin Bug




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
http://positioniseverything.net/
                explorer.html




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Cascading
http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html




         Wilfred Nas - Client Side Development
         wnas.nl | twitter.com/wnas | wilfred@wnas.nl
padding: 2px
padding: 2px 2px 2px 2px;




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Shorthand


 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
CSS 3


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
http://www.456bereastreet.com/archive/200601/
               css_3_selectors_explained/




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
power


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Unlimited power




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
e[att^=”val”]


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
E:empty


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
E~F


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
CSS 3 ?


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
dojo


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
jQuery


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Tools


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Firebug
   https://addons.mozilla.org/en-US/firefox/addon/1843




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Yslow
               http://developer.yahoo.com/yslow/




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Web developer 1.1.6
     https://addons.mozilla.org/en-US/firefox/addon/60




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Exercise



 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
http://wnas.nl/fronteers/


 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Exercise



 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
break


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
JavaScript
                                               part 1




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
JavaScript === evil
                            Do not rely on it.




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Donʼt rely on it
HTML is a rely accessible platform. Use JavaScript to
enhance it.




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Global variables === evil


 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Progressive Enhancement
                                     !==

        Graceful degradation.


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
HIJAX vs AJAX
Plan ajax from the beginning and build it in the end.




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
ns.nl
with javascript




        Wilfred Nas - Client Side Development
        wnas.nl | twitter.com/wnas | wilfred@wnas.nl
ns.nl
without javascript




        Wilfred Nas - Client Side Development
        wnas.nl | twitter.com/wnas | wilfred@wnas.nl
JavaScript !== java
                                Really not.




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
JavaScript
Is not a toy language.




        Wilfred Nas - Client Side Development
        wnas.nl | twitter.com/wnas | wilfred@wnas.nl
<a
  href=”#”
  onclick=”javascript:function(){
     window.open(‘http://wnas.nl’,’wnas’,’width=300,height=400’);
  }”>
     go there!
</a>




     Wilfred Nas - Client Side Development
     wnas.nl | twitter.com/wnas | wilfred@wnas.nl
<a
  href=”http://wnas.nl”
  class=”popup”>
     go there!
</a>




     Wilfred Nas - Client Side Development
     wnas.nl | twitter.com/wnas | wilfred@wnas.nl
The World's Most Misunderstood
      Programming Language
‘Douglas Crockford’




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Closures
one of javascript most devious concepts




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
where a function
remembers what
happens around it
‘Stuart Langridge’




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
http://tinyurl.com/jsclosures




   Wilfred Nas - Client Side Development
   wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Patterns
Smatterns




Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
If all you have is a
everything looks like a nail




         Wilfred Nas - Client Side Development
         wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Read a lot
this day is too short for patterns...
http://delicious.com/wnas




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
namespace
var ing = function () {
     // do stuff
}();




  Wilfred Nas - Client Side Development
  wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Revealing module pattern
var ing = function () {
     var foo = function () {
         // do stuff
     }
     return {
         foo : foo
     }
}();




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
private variables
var ing = function () {
     var config = { // object literal
         name : ‘value’
     };
     var foo = function () {
         alert ( config.name );
     };
     return {
         foo : foo
     };
}();

ing.foo();




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
XML vs JSON
Use the best possible solution




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Not the available one
JSON vs XML




  Wilfred Nas - Client Side Development
  wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Memory
And the garbage collector




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
So what changed ?
Ajax and Rich Internet Applications.




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Ajax
Asynchronous
Javascript
and
XML



       Wilfred Nas - Client Side Development
       wnas.nl | twitter.com/wnas | wilfred@wnas.nl
The solution
think of history




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Ajax
origins




          Wilfred Nas - Client Side Development
          wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Clean up
That is what Ajax stood for anyway...




         Wilfred Nas - Client Side Development
         wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Pick up after yourself
Leave a clean dom after you...




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Totaal voetbal
Let the individual elements of your
program work for you.




        Wilfred Nas - Client Side Development
        wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Java
To handle the logic.




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
JSP / XHTML
To display the structure of your programs.




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
CSS
To present it in a proper manner.




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
JavaScript
To enhance the user experience.




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Exercise
enhance the page you made...




    Wilfred Nas - Client Side Development
    wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Extra time


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Event delegation


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Just in time initialization


 Wilfred Nas - Client Side Development
 wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Lazy loading


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Code as prose.


Wilfred Nas - Client Side Development
wnas.nl | twitter.com/wnas | wilfred@wnas.nl
Douglas
The good parts




       Wilfred Nas - Client Side Development
       wnas.nl | twitter.com/wnas | wilfred@wnas.nl
JavaScript
The Definitive Guide (5th)




        Wilfred Nas - Client Side Development
        wnas.nl | twitter.com/wnas | wilfred@wnas.nl

More Related Content

More from Wilfred Nas

Progressive enhancement-fronteers-workshop
Progressive enhancement-fronteers-workshopProgressive enhancement-fronteers-workshop
Progressive enhancement-fronteers-workshopWilfred Nas
 
CSS naming | ceci n'est pas un pipe
CSS naming | ceci n'est pas un pipeCSS naming | ceci n'est pas un pipe
CSS naming | ceci n'est pas un pipeWilfred Nas
 
What has responsive web design done for us, so far.
What has responsive web design done for us, so far.What has responsive web design done for us, so far.
What has responsive web design done for us, so far.Wilfred Nas
 
Javascript is evil - fronteers 2013 jam sessions
Javascript is evil - fronteers 2013 jam sessionsJavascript is evil - fronteers 2013 jam sessions
Javascript is evil - fronteers 2013 jam sessionsWilfred Nas
 
Bestpractices nl
Bestpractices nlBestpractices nl
Bestpractices nlWilfred Nas
 
Fronteers iprofs
Fronteers iprofsFronteers iprofs
Fronteers iprofsWilfred Nas
 

More from Wilfred Nas (8)

Progressive enhancement-fronteers-workshop
Progressive enhancement-fronteers-workshopProgressive enhancement-fronteers-workshop
Progressive enhancement-fronteers-workshop
 
CSS naming | ceci n'est pas un pipe
CSS naming | ceci n'est pas un pipeCSS naming | ceci n'est pas un pipe
CSS naming | ceci n'est pas un pipe
 
What has responsive web design done for us, so far.
What has responsive web design done for us, so far.What has responsive web design done for us, so far.
What has responsive web design done for us, so far.
 
Javascript is evil - fronteers 2013 jam sessions
Javascript is evil - fronteers 2013 jam sessionsJavascript is evil - fronteers 2013 jam sessions
Javascript is evil - fronteers 2013 jam sessions
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
Bestpractices nl
Bestpractices nlBestpractices nl
Bestpractices nl
 
Html5 nl
Html5 nlHtml5 nl
Html5 nl
 
Fronteers iprofs
Fronteers iprofsFronteers iprofs
Fronteers iprofs
 

Recently uploaded

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 

Recently uploaded (20)

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 

Client Side Development Workshop HTML CSS and Javascript Fundamentals

  • 1. Client Side Development Introductory Workshop Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 2. Introduction Hi, Iʼm Wilfred Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 3. Introduction I do HTML, CSS and some Javascript Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 4. http://www.slideshare.net/wnas Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 5. Application html, css and javascript. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 6. HTML itʼs easy. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 7. NOT if you do it right. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 8. Structure Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 9. Doctypes Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 10. <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot; quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;> Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 11. quirksmode Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 12. boxmodel Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 13. HTML itʼs more than tables. much more Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 14. Tables Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 15. Tables are evil? Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 16. nope Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 17. Tables are beautiful Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 18. Caption Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 19. Thead Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 20. tfoot Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 21. tbody Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 22. tr Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 23. td Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 24. th Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 25. colspan Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 26. colgroup Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 27. rowspan Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 28. rowgroup Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 29. HTML Itʼs more than divʼs and spanʼs Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 30. div Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 31. span Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 32. p Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 33. h1 > h6 Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 34. em Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 35. strong Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 36. abbr Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 37. Block & inline Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 38. Generally, block-level elements begin on new lines, inline elements do not Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 39. id Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 40. class Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 41. validator.w3.org Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 42. HTML Itʼs about structure, NOT presentation. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 43. <div class=quot;spacer-wquot;><!-- this empty spacer is used to make a space between vertical holding blocks --></div> Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 44. Do more with less focus on the information, not the presentation. that is what css is for. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 45. http://microformats.org/ Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 46. Exercise nu.nl ing.nl postbank.nl Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 47. break Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 48. If you thought html was bad, I give you... Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 49. CSS Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 50. selector { property : value; } Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 51. div#id.foo p .bar { ... } Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 52. CSS 2.1 Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 53. http://www.456bereastreet.com/archive/200509/ css_21_selectors_part_1/ Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 54. Positioning Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 55. position : static; Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 56. position : relative; Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 57. float: left; Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 58. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 59. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 60. float : left; Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 61. IE doubles the padding and margin Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 62. display: inline; Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 63. Explorer 6 Duplicate Characters Bug Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 64. The IE5/6 Doubled Float-Margin Bug Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 65. http://positioniseverything.net/ explorer.html Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 66. Cascading http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 67. padding: 2px padding: 2px 2px 2px 2px; Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 68. Shorthand Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 69. CSS 3 Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 70. http://www.456bereastreet.com/archive/200601/ css_3_selectors_explained/ Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 71. power Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 72. Unlimited power Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 73. e[att^=”val”] Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 74. E:empty Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 75. E~F Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 76. CSS 3 ? Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 77. dojo Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 78. jQuery Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 79. Tools Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 80. Firebug https://addons.mozilla.org/en-US/firefox/addon/1843 Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 81. Yslow http://developer.yahoo.com/yslow/ Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 82. Web developer 1.1.6 https://addons.mozilla.org/en-US/firefox/addon/60 Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 83. Exercise Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 84. http://wnas.nl/fronteers/ Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 85. Exercise Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 86. break Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 87. JavaScript part 1 Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 88. JavaScript === evil Do not rely on it. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 89. Donʼt rely on it HTML is a rely accessible platform. Use JavaScript to enhance it. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 90. Global variables === evil Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 91. Progressive Enhancement !== Graceful degradation. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 92. HIJAX vs AJAX Plan ajax from the beginning and build it in the end. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 93. ns.nl with javascript Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 94. ns.nl without javascript Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 95. JavaScript !== java Really not. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 96. JavaScript Is not a toy language. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 97. <a href=”#” onclick=”javascript:function(){ window.open(‘http://wnas.nl’,’wnas’,’width=300,height=400’); }”> go there! </a> Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 98. <a href=”http://wnas.nl” class=”popup”> go there! </a> Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 99. The World's Most Misunderstood Programming Language ‘Douglas Crockford’ Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 100. Closures one of javascript most devious concepts Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 101. where a function remembers what happens around it ‘Stuart Langridge’ Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 102. http://tinyurl.com/jsclosures Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 103. Patterns Smatterns Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 104. If all you have is a everything looks like a nail Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 105. Read a lot this day is too short for patterns... http://delicious.com/wnas Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 106. namespace var ing = function () { // do stuff }(); Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 107. Revealing module pattern var ing = function () { var foo = function () { // do stuff } return { foo : foo } }(); Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 108. private variables var ing = function () { var config = { // object literal name : ‘value’ }; var foo = function () { alert ( config.name ); }; return { foo : foo }; }(); ing.foo(); Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 109. XML vs JSON Use the best possible solution Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 110. Not the available one JSON vs XML Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 111. Memory And the garbage collector Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 112. So what changed ? Ajax and Rich Internet Applications. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 113. Ajax Asynchronous Javascript and XML Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 114. The solution think of history Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 115. Ajax origins Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 116. Clean up That is what Ajax stood for anyway... Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 117. Pick up after yourself Leave a clean dom after you... Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 118. Totaal voetbal Let the individual elements of your program work for you. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 119. Java To handle the logic. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 120. JSP / XHTML To display the structure of your programs. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 121. CSS To present it in a proper manner. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 122. JavaScript To enhance the user experience. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 123. Exercise enhance the page you made... Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 124. Extra time Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 125. Event delegation Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 126. Just in time initialization Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 127. Lazy loading Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 128. Code as prose. Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 129. Douglas The good parts Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl
  • 130. JavaScript The Definitive Guide (5th) Wilfred Nas - Client Side Development wnas.nl | twitter.com/wnas | wilfred@wnas.nl

Editor's Notes

  1. I have been working on the web for the past 14 years. I started out as a designer bugging developers. In the past years I have come full circle, becoming the developer that is bugging designers.
  2. giving workshops is not my main job, just something I do on the side. mostly when people give me beer and get me talking :)
  3. the only url you have to write down
  4. There are three sides to a website... mvc...
  5. we will start with the basics, HTML. boring isn&#x2019;t it. after all html is easy...
  6. There are a lot of things to think about, like;
  7. html is for structure, a way to show the content...
  8. Which doctype do you use?
  9. Strict is the way to go, if you can
  10. sketch the difference between ie and w3c
  11. and still this is the way most websites were build...
  12. especially if your building data intensive applications...
  13. make sure you specify this one BEFORE the tbody
  14. most people, turning away from tables, will use div&#x2019;s in the same way...
  15. to identify, must be unique
  16. not just for css. to classify
  17. most developers get a fo and a graphic design. they will use the design to build and the fo to tweak. they should do the reverse
  18. bad
  19. don&#x2019;t add extra div&#x2019;s to create that border the design calls for. You allready have enough elements to play with...
  20. should be around 10.30
  21. start 11.00
  22. selectors are not limited to id&#x2019;s and can be chained... multiple classes can be used. and such...
  23. supported in most browsers
  24. support is not as wide spread
  25. Match any E elements, whose att atribute value begins with &#x2018;val&#x2019;
  26. Matches any E element that has no children (including text nodes)
  27. matches any F element that is preceded by an E element... general sibling selector
  28. should be 11.45
  29. style the page you just made with proper html... start 12.00
  30. around 12.30
  31. start 13.00
  32. === is exactly equal to (value and type) == is equal to
  33. build a good app and make it better. don&#x2019;t build a good app and let it slip away...
  34. build as if you have no javascript en HIJACK the form actions with javascript
  35. please don&#x2019;t try to make it into it...
  36. Really it is not.
  37. power, confusion ie is the problem
  38. further than that, I will not go. as stuart talk opens my eyes but not enough. there is more in this than I know...
  39. Don&#x2019;t put all of your trust in patterns...
  40. transactie module by the dutch police to process your tickets is suffering...
  41. used to be no problem, as we left the page after a while
  42. We don&#x2019;t leave the page anymore, instead we keep producing more and more dom objects...
  43. he forgot css and left out json or html as a data layer...
  44. Where does the name ajax stood for in the beginning...
  45. sorry for that, a mistake...
  46. The cleaner was a household name for so long, that we should use it...
  47. look into the architecture document for a good example, me I make the mistake sometimes, that&#x2019;s where my hair is going...
  48. including main characters and a compelling story line...
  49. JavaScript as a language is great, but has many bad parts. You want to avoid them...
  50. A must have reference guide of a gaziljon pages. Any decent JavaScript developer has a copy handy...