Nicholas Zakas is talking about scalable JS architecture.
He begins with a straw poll. Turns out half of the Full Frontal room is working on a Single Page App, right now.
Framework != Library. jQuery? Not a framework. It’s a library you call to perform some limited functionality.
Nicholas identifies a layered architecture, where an application core mediates between independent modules, which use a base library (jQuery etc).
Think of modules as little kids – they can do lots of cool stuff, but need strict supervision: * Hands to yourself (limiting what they can access) * Ask, don’t take * Don’t leave your toys around * Don’t talk to strangers
The Application core manages module lifecycles and mediates between them. There’s also an error handling role, and Nicholas gave a talk about this previously: JS Error Handling.
People are usually too coupled to their base libraries, like jQuery. As Joe Smarr pointed out in a 2007 talk, you’re better off using them as scaffolding, and building modules around them.