A Single Page Application is a special kind of web application. More traditional web applications involve page changes, where the browser is required to fetch a new page from the server, in order to advance the interaction of the user with the application. But page changes in the browser disrupt the user experience, since there is a perceivable transition from one page (which has to be unloaded) to the next page (which has to be retreived from the server and displayed from scratch by the browser). This often involves the unnecessary re-transmission and re-display of already existing und unchanged page elements (e.g. a navigation bar, unchanged results from a database query), and suffers from the fact that network latencies cannot be hidden from the user.
Single page applications try to amend for this by requiring no page change of the browser through the whole duration of the application session. All user interaction and changes of the application state are handled in the context of a single Web document. The user experience becomes more continuous and fluid, and network latencies can be hidden more easily. There are various techniques available to allow the browser to stay with a single page, the most prominent currently being Ajax techniques.
|