Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Limitations: Deal with it - Javascript in the '90s

Limitations: Deal with it - Javascript in the '90s

A technical and hands-on look at Javascript development in the days of Netscape 2 and IE 3, the restrictions and lack of features and how to deal with technical limitations in your development.

Thor Larholm

August 15, 2013
Tweet

Other Decks in Programming

Transcript

  1. 2000 • IE at 85% market share • Netscape at

    13% • HTML 4 • CSS improvements • XMLHttpRequest
  2. 1999 • IE at 64% market share • Netscape at

    33% • A mixed bag of browser versions, old and new • Netscape 3 still in some use
  3. 1998 • Netscape 3 still heavily used • Almost no

    CSS use • Javascript was mostly form validation • Layout: <table> and <font>
  4. 1997 • IE at 12% market share • Netscape at

    81% market share • Netscape 4 released in June (Javascript 1.2) • IE4 released in October (CSS, Jscript 3) • Netscape 3 was king
  5. 1996 • IE at 9% • Netscape at 54% •

    IE3 released in August - Jscript! • Netscape 3 released in August - Javascript 1.1 • HTML 3.2!
  6. State of the art • Netscape 2 • HTML 2

    • Frames • <table>, <font> and <blink> • GIF89a, progressive JPEG and Image maps • Livescript and Plugins
  7. Limitations • No regular expressions • No array/object literals •

    No XMLHttpRequest • No external script includes
  8. 1995: Dynamic Web Apps • <frameset> and <frame> to maintain

    state • Rewrite entire HTML document • Async communication using Image cookies
  9. Application State • Top level window object – <title> and

    <frameset> • Individual frames per namespace – <frame name=”App”> – <frame name=”Constants”> • Individual frames per view
  10. Script caching • Inline script • Frames serve as REST

    endpoints • Still just ordinary HTTP caching • Split scripts to avoid thread locking – Used by Gmail today
  11. Async Requests • Feature detection on window.Image • Fallback to

    frame request polling • Chunked encoding for >1KB