BarCamp DC: Alternative Web App Structure

Notes on the presentation:


  • Web App Structure
    • HTTP is stateless
      • Programs tend to be stateless
      • Normally, each new requests starts the app from scratch, then you try to get everything back from a session


  • There's an alternative: continuations
    • Instead of the program running to output HTML, halt, start again with a new request (rinse, repeat) ...
    • You freeze the whole context (the state), and then the user does the next step, and the system picks right back up at the point where it left off
      • This is implemented through co-routines






  • Seaside!
    • Written in SmallTalk
      • Uses squeak (an OS in a box, seriously isolated)

    • Application framework (think rails)
    • No templating system -- write your template in smalltalk
    • Offers through the web development


  • Uncommon Web
    • Use common lisp to handle continuations with a macro
    • Replay the source tree to a specific point


  • Continuity
    • Do this stateful stuff in perl
    • Written by our presenter
    • Uses co-routines
    • "Sorry perl's so ugly, but I love it so much."
    • Big problems with bookmarking. Oh well.