This document provides an overview of building single page applications with DurandalJS. It discusses what SPAs are and why they should be built, common SPA traits like client-side linking and lazy loading. It then demonstrates DurandalJS concepts like modularization with RequireJS, routing, data binding with Knockout, composition, and lifecycle hooks. The document also discusses how DurandalJS integrates with Angular and the future of merging the frameworks.