Get Involved:

JavaScript &
Single Page Web Apps

Who am I

Caleb Gilbert (not officially launched, but up there anyway)

So...who is this presentation for 

and what are our objectives?

First let's make sure we're speaking the same language:

Single Page Apps

"A single-page application (SPA) a web application or web site that fits on a single web page with the goal of providing a more fluid user experience akin to a desktop application." - Wikipedia

Why Single Page Apps?

Provides a desktop-like experience (e.g., no page loads)

Speed and Bandwidth advantages

Differentiate your site/product from your competition

Increasingly the direction of web technology *

* with a caveat 

Why Not Single Page Apps?

Given the current state of pre-package SPA technology,
it may be complete overkill for many things.

As always - the right tools, for the right job.

Frequently just certain parts/features of a site needs to be an SPA. Stay open the idea of a hybrid solution.

Getting More Involved

First things first: the DOM

If you don't know what the "document object model" is spend some time familiarizing yourself.

The basics:
1. Web-browsers parse HTML and CSS to create an in-memory object tree
2. The DOM is a standards-based API browsers offer to interact with the object tree
3. JavaScript is a popular language used to manipulate the object tree via the DOM API


Special mention: DOM Events

DOM events are the primary mechanism that JavaScript hooks into to provide 'real-time' interactivity.


Learning JavaScript?

Get a jumpstart with a quick online education:

Next steps to JS and SPA zen

Learn on a 'real' projects (even little ones)

Don't get hung up on which MV* JS framework to use
(or even whether to use one at all)

Plan for iteration in your approach rather than initial perfection

Start tinkering with some  JS MV* frameworks (wait, what?)

SPA and JavaScript links: