Single-page application

single page applicationsingle-page web applicationsingle-page applicationsSPAframeworksmore than one screenful of contentsingle-pageSingle-page appssingle-page web applications
A single-page application (SPA) is a web application or web site that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server.wikipedia
87 Related Articles

Web application

web-basedweb applicationsweb app
A single-page application (SPA) is a web application or web site that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server.
Single-page applications are more application-like because they reject the more typical web paradigm of moving between distinct pages with different URLs.

JavaScript

Server-side JavaScriptclient-side JavaScriptJS
In an SPA, either all necessary code – HTML, JavaScript, and CSS – is retrieved with a single page load, or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions.
With the rise of single-page applications and JavaScript-heavy sites, it is increasingly being used as a compile target for source-to-source compilers from both dynamic languages and static languages.

AngularJS

Angular.jsAngularAngular JS
AngularJS is a JavaScript-based open-source front-end web framework mainly maintained by Google and by a community of individuals and corporations to address many of the challenges encountered in developing single-page applications.

Ember.js

EmberJSEmberEmber CLI
It allows developers to create scalable single-page web applications by incorporating common idioms and best practices into the framework.

React (web framework)

ReactReact.jsReact (JavaScript library)
React can be used as a base in the development of single-page or mobile applications, as it is optimal for fetching rapidly changing data that needs to be recorded.

Ext JS

ExtJSExtExt (JavaScript library)
It can be used as a simple component framework (to e.g. create dynamic grids on otherwise static pages), but also as a full framework for building single-page applications.

Vue.js

Vue
Vue.js (commonly referred to as Vue; pronounced, like view) is an open-source Model–view–viewmodel JavaScript framework for building user interfaces and single-page applications.

Fragment identifier

fragmenthash" portion of the URLlocation hash
The page does not reload at any point in the process, nor does control transfer to another page, although the location hash or the HTML5 History API can be used to provide the perception and navigability of separate logical pages in the application.

ItsNat

Another approach used by server-centric web frameworks like the Java-based ItsNat is to render any hypertext on the server using the same language and templating technology.
ItsNat focuses on server centric SEO compatible Single-page applications and web sites.

Website

web sitewebsitesonline
A single-page application (SPA) is a web application or web site that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server.

User experience

UXexperienceUser Experience (UX)
This approach avoids interruption of the user experience between successive pages, making the application behave more like a desktop application.

Application software

applicationapplicationssoftware application
This approach avoids interruption of the user experience between successive pages, making the application behave more like a desktop application.

HTML

Hypertext Markup LanguageHTML 3.2HTML 4
In an SPA, either all necessary code – HTML, JavaScript, and CSS – is retrieved with a single page load, or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions.

Cascading Style Sheets

CSSCSS3Cascading Style Sheet
In an SPA, either all necessary code – HTML, JavaScript, and CSS – is retrieved with a single page load, or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions.

Dynamic loading

dynamically loadeddlopendlopen()
In an SPA, either all necessary code – HTML, JavaScript, and CSS – is retrieved with a single page load, or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions.

HTML5

HTML 5HTML2008 debate on whether to include the two
The page does not reload at any point in the process, nor does control transfer to another page, although the location hash or the HTML5 History API can be used to provide the perception and navigability of separate logical pages in the application.

Comparison of browser engines (HTML support)

Comparison of layout engines (HTML5)Comparison of layout engines (Non-standard HTML)Chrome: HTML5
The page does not reload at any point in the process, nor does control transfer to another page, although the location hash or the HTML5 History API can be used to provide the perception and navigability of separate logical pages in the application.

Web server

web serverswebserverHTTP server
Interaction with the single-page application often involves dynamic communication with the web server behind the scenes.

Stuart Morris

Stuart Morris wrote the Self-Contained website at slashdotslash.com with the same goals and functions in April 2002, and later the same year Lucas Birdeau, Kevin Hakman, Michael Peachey and Clifford Yeh described a single-page application implementation in US patent 8,136,109.

UI data binding

Bound controlbinding
To avoid these problems, applications can use UI data bindings or granular DOM manipulation to only update the appropriate parts of the page instead of re-rendering entire templates.