2. JQuery explosion
3. Page and Widget objects
4. Single Page Application
Once you're in phase 4 and you create apps this way, you realize that you don't need the backend in order to create the Single Page App. Even more, you shouldn't start with a backend.
This is the additional phase. Frontend first. In most of the typical situations, it's much better to start with a Single Page Application and use LocalStorage or some kind of a InMemoryServerSideAdapter for the first phases of the development.
Only after you know how the frontend works and what kind of server interaction it requires, it actually makes sense to start working on the backend.
We've tried this approach in several Single Page Apps and it worked great for us. It now seems like the most natural way of working.