I'm Tab Atkins

...and I work for Google

Find me at @tabatkins

Watch CSS at @csscommits

Read my blog at xanthir.com

The Point of This Class

The Web is too big to teach in 6 hours.

Instead, I'll be guiding you through the web, introducing you to all the concepts you need to know and how they fit together.

At the end, your brain should have the proper shape, ready to have more knowledge poured into it.

First, Some History

The first web browsers arrived in the early 90s.

Two quickly became dominant - Netscape and Internet Explorer.

IE6 released in 2001, gaining 95% market share

Firefox 2 broke the hegemony in 2006

There are now multiple browser with significant market share.

The Architecture of the Web

The Web is fundamentally different from the desktop.

You ship source code; the user chooses how to compile it (and the user doesn't know what they're doing).

You get a unified target, but fragmented browsers, though specs help them converge.

The Web's Programming Model

Automatically distributed, sorta - your page is an application running on (at least) two computers at once, passing messages back and forth.

Basic website
Browser sends simple GET requests only, server replies with static pages.
Get forms involved
Browser sends complex, user-generated data in requests, server replies with pages constructed on the fly.
Get Javascript involved
Browser sends complex requests, server replies with arbitrary data.

Any non-trivial page involves writing code in at least 5 languages.