This document discusses single-page applications (SPAs) and related technologies. It defines an SPA as having a single HTML file, responsive CSS, JavaScript modules, and an underlying API that typically follows the MVVM pattern. Examples are given of why SPAs provide a consistent user experience across devices and partially-connected functionality for data-rich apps. Potential downsides discussed are that SPAs are not well-suited for sites needing good search engine optimization. The document also summarizes several JavaScript technologies used in SPAs, including RequireJS for module loading, KnockoutJS for model binding, and BreezeJS for querying data via LINQ. It describes how these can work together with MVC on the server