What I do www.madpilot.com.au www.88miles.net
JavaScript: A brief history
Developed by Brendan Eich Mocha: A brief history
Developed by Brendan Eich At Netscape LiveScript: A brief history
Developed by Brendan Eich At Netscape Around the time Java was added  JavaScript: A brief history
Developed by Brendan Eich At Netscape Around the time Java was added Was implented in IE 3.0  JScript: A brief history
Developed by Brendan Eich At Netscape Around the time Java was added Was implented in IE 3.0 Became an official ECMA standard  ECMAScript: A brief history
Mouseovers Status bars Annoying Popups Get’s a bad name JavaScript in the 90s 90’s 2000 2002 2004 2006 Today
Microsoft invents  XMLRequest Make server requests without refreshing AJAX 90’s 2000 2002 2004 2006 Today
Move stuff around Dynamic Menus Show/hide elements DHTML and the DOM 90’s 2000 2002 2004 2006 Today
Three browsers – three technologies Create vector graphics Think outside the box Canvas/SVG/VML 90’s 2000 2002 2004 2006 Today
Separate JS from the HTML Creates Business Logic layer Unobstrusive JavaScript 90’s 2000 2002 2004 2006 Today
User interface widgets Frameworks a go-go Closer to desktop apps Cool Experiments We ♥ JavaScript 90’s 2000 2002 2004 2006 Today
How far can HTML CSS and JavaScript be pushed? Pretty far actually… We are losing interest…
Make it think it is an  8-bit video console Fool your browser
Prototype JavaScript  Library XHTML + CSS + Unobtrusive JS DOM manipulation JS Events Our tools
JavaScript supports  classes Almost supports  inheritance Create sprite classes Oh, so classy
Need to create animation loop setInterval ( interval ,  function ); Check collisions Render animations JS isn’t threaded! Using timers
Pointless without User Input Event .observe ( element ,  event ,  handler ); Listen to keypress, window load Create some pseudo events Input Events
An old game technique Move background image … then mask el.style.backgroundPosition = '0px 0px'; Animation strips
Basic square Uses vectors Check distance And direction Collision Detection
Fixed view point Move the background Capture arrow events (ignore) Move character – background scrolls Sideways scrolling
Wrap it all together
ENDE.

Abusing JavaScript for fun and profit

  • 1.
  • 2.
    What I dowww.madpilot.com.au www.88miles.net
  • 3.
  • 4.
    Developed by BrendanEich Mocha: A brief history
  • 5.
    Developed by BrendanEich At Netscape LiveScript: A brief history
  • 6.
    Developed by BrendanEich At Netscape Around the time Java was added JavaScript: A brief history
  • 7.
    Developed by BrendanEich At Netscape Around the time Java was added Was implented in IE 3.0 JScript: A brief history
  • 8.
    Developed by BrendanEich At Netscape Around the time Java was added Was implented in IE 3.0 Became an official ECMA standard ECMAScript: A brief history
  • 9.
    Mouseovers Status barsAnnoying Popups Get’s a bad name JavaScript in the 90s 90’s 2000 2002 2004 2006 Today
  • 10.
    Microsoft invents XMLRequest Make server requests without refreshing AJAX 90’s 2000 2002 2004 2006 Today
  • 11.
    Move stuff aroundDynamic Menus Show/hide elements DHTML and the DOM 90’s 2000 2002 2004 2006 Today
  • 12.
    Three browsers –three technologies Create vector graphics Think outside the box Canvas/SVG/VML 90’s 2000 2002 2004 2006 Today
  • 13.
    Separate JS fromthe HTML Creates Business Logic layer Unobstrusive JavaScript 90’s 2000 2002 2004 2006 Today
  • 14.
    User interface widgetsFrameworks a go-go Closer to desktop apps Cool Experiments We ♥ JavaScript 90’s 2000 2002 2004 2006 Today
  • 15.
    How far canHTML CSS and JavaScript be pushed? Pretty far actually… We are losing interest…
  • 16.
    Make it thinkit is an 8-bit video console Fool your browser
  • 17.
    Prototype JavaScript Library XHTML + CSS + Unobtrusive JS DOM manipulation JS Events Our tools
  • 18.
    JavaScript supports classes Almost supports inheritance Create sprite classes Oh, so classy
  • 19.
    Need to createanimation loop setInterval ( interval , function ); Check collisions Render animations JS isn’t threaded! Using timers
  • 20.
    Pointless without UserInput Event .observe ( element , event , handler ); Listen to keypress, window load Create some pseudo events Input Events
  • 21.
    An old gametechnique Move background image … then mask el.style.backgroundPosition = '0px 0px'; Animation strips
  • 22.
    Basic square Usesvectors Check distance And direction Collision Detection
  • 23.
    Fixed view pointMove the background Capture arrow events (ignore) Move character – background scrolls Sideways scrolling
  • 24.
    Wrap it alltogether
  • 25.