Single Page Applications: Your Browser is the OS!
Single Page Applications (SPA) have gained tremendous popularity over the past few years and have prompted the creation of several frameworks to support their development. Unlike traditional web applications, most of the heavy lifting for SPA happens on the client side in your web browser. These applications rely on hundreds of lines of JavaScript coupled with asynchronous web service calls to provide a desktop-like experience that is accessible from virtually any device.
In this presentation, Jeremy Likness covers the origins of SPA with a brief history of browsers. He covers the key challenges presented by the traditional “page load” model of web-based applications:
- User experience
- Server load
- Reload experience
- Network load
- Real-time processing
- Mobile experience
SPA frameworks address these issues through a variety of features, including:
- Normalized access to the browser Document Object Model (DOM)
- Facilitating modular code
- Providing routing to address journaling and bookmarking in the browser
- Supporting testing from the ground up
- Enabling security through a variety of mechanisms
- Supporting parallel development across large teams
Although all of these features can be implemented with custom code, a number of frameworks exist that address some or all of the feature sets. Jeremy walks through these popular frameworks with demos, including:
- jQuery
- TypeScript
- KnockoutJS
- BackboneJS
- EmberJS
- AngularJS 1.x and 2.0
- Aurelia
Whether you are an experienced JavaScript developer assessing the right approach to SPA or a beginner who is just learning about the SPA approach to web application development, this presentation has the insights you need to take your projects to the next level. View the one hour video below and access the source code from the demo projects online at https://github.com/JeremyLikness/SPAAppsExplained.
2 comments to Single Page Applications: Your Browser is the OS!
B. Clay Shannon
April 7, 2015Is there a “Turing Test” to determine whether a web app/site is a SPA? I reckon my site is (http://twaincentral.azurewebsites.net/), but I’d like to know for sure.
That is, the browser never navigates to another page – the elements “come to him” based on what s/he selects…?
Are there a set of questions to ask yourself about a particular site that will prove it a SPA or not?
Mark Argyle
April 10, 2015There is no formal designation for a Single Page Application. I believe at a minimum it should provide routing, i.e. it would present multiple pages and allow bookmarking those pages even though it operates through callbacks instead of postbacks.