SlideShare a Scribd company logo
Evolution of the
Single Page Application
Caleb Sotelo・@calebds
Software Engineer, OpenX
1997 2017
A Story About Building the Web
What is a SPA?
A Single Page App is a web
application that requires a single
page load in a web browser.
Wait, what is a page?
<html>
The Right Environment
1. Hypertext
2. HTTP
3. URLs
4. httpd
Building Blocks of Life: JavaScript
element.onClick = function() {
document.getElementById('myImage').src =
'differentImage.jpg';
}
Invented so people could do DHTML:
Meanwhile, Server-side Sophistication
We can make dynamic web pages!
1. Common Gateway Interface
2. “Page” Languages:
a. 1994 - PHP
b. 1996 - ASP
c. 1999 - JSP
3. Apache Modules
Single Page Ancestors
Y2K
It's a technology! It's a language! It's..AJAX! (It's JSON)
var request = new XMLHTTPRequest();
request.onload = function() {
alert(this.responseText);
};
request.open('get', 'endpoint.php');
request.send();
Doug Crockford
2001 - JSON
2002 - JsLint
2003 - JsMin
2008 - JavaScript: The Good Parts
“It is much harder to write correct
programs if you do not understand
what the language actually does.”
JavaScript Libraries: Pre-GitHub
2004 - Dojo
2005 - Prototype (February)
2006 - jQuery (January)
2006 - YUI (February)
2006 - MooTools (September)
JavaScript Libraries: GitHub Era
1. HTTP: jquery, YUI.io, closure
2. Partials: jquery.load, hogan
3. Storage: amplify, store
4. Templating: underscore, mustache, ejs
5. Routing: hashchange, YUI.history, crossroads
6. MVC: backbone, sproutcore, knockout
JavaScript Cambrian Explosion
JavaScript Cambrian Explosion
Conscious Life: JavaScript Tooling
NodeJS sends JavaScript to the server in 2009.
1. Code organization - AMD, RequireJS, CommonJS
2. Code sharing - NPM, Bower
3. Automation - Grunt, Gulp
The Modern SPA
Best SPA practices and tools coalesce:
1. Declarative Programming
2. Separation of view and app state
3. Data Binding
4. Promises
5. Dependency Injection
Modern SPA Frameworks
1. Angular
2. React +
3. Meteor
4. Vue
5. Ember
Honorable Mention
1. Moore’s Law
2. RESTful Web Services
3. Browser Wars
4. Firebug
JavaScript 2017
Next Mutation: Web as App Platform
1. Web APIs (WebGL, Web Audio API, File System
API)
2. Web Components
PWAs AMP AngularCLI
Thanks!
Caleb Sotelo・@calebds
Software Engineer, OpenX

More Related Content

KEY
English Casual 2012/05/10
PDF
JSConf US 2014: Building Isomorphic Apps
PDF
Modern Javascript
PDF
MEAN Stack - Google Developers Live 10/03/2013
PDF
Decoupling Content Management with Create.js
PDF
Building Isomorphic Apps (JSConf.Asia 2014)
ODP
Css,javascript,php,mysql
PDF
Cloud App Develop
English Casual 2012/05/10
JSConf US 2014: Building Isomorphic Apps
Modern Javascript
MEAN Stack - Google Developers Live 10/03/2013
Decoupling Content Management with Create.js
Building Isomorphic Apps (JSConf.Asia 2014)
Css,javascript,php,mysql
Cloud App Develop

What's hot (12)

PPTX
Creating better behat features
PPTX
Web workers
PDF
WordPress & Backbone.js
PDF
JavaScript Roadmap - DOM Manipulation
PDF
Create.js - Inline editing for any website
PDF
ODP
Let's Take Drupal Offline!
PDF
Decoupling Content Management
PPTX
Introduction to Node.js
PDF
Rapid API development on MongoDB
PDF
Mean Stack for Beginners
PPTX
Hybrid Application Development
Creating better behat features
Web workers
WordPress & Backbone.js
JavaScript Roadmap - DOM Manipulation
Create.js - Inline editing for any website
Let's Take Drupal Offline!
Decoupling Content Management
Introduction to Node.js
Rapid API development on MongoDB
Mean Stack for Beginners
Hybrid Application Development
Ad

Viewers also liked (20)

PDF
Security Industry Overview
PDF
DoubleClick Certification Programs
PDF
Thomvest Mobile Advertising Overview - February 2016
PDF
Video ads
PDF
Late Stage AdTech Market Update (Thomvest Ventures)
PPTX
Perspective on Insurtech
PPT
Google Adwords - Basic account structure
PPT
Utm Codes
PDF
Google – Gielke Burgmans Demystifying Programmatic Marketing
PDF
Thomvest Native Advertising Overview
PDF
Whitepaper brands-es
PDF
Whitepaper publisher-es
PDF
Display media trading desk (DSP) - Karthikeyan Haldurai - Google
PDF
Introduction to Ad Tech
PDF
AdTech Late Stage Deal & M&A Analysis (Thomvest Ventures)
PPTX
Programmatic buying
PDF
Arq230964
PPTX
Why Fintech?
PDF
China Mobile Advertising Landscape Report (Thomvest Ventures)
Security Industry Overview
DoubleClick Certification Programs
Thomvest Mobile Advertising Overview - February 2016
Video ads
Late Stage AdTech Market Update (Thomvest Ventures)
Perspective on Insurtech
Google Adwords - Basic account structure
Utm Codes
Google – Gielke Burgmans Demystifying Programmatic Marketing
Thomvest Native Advertising Overview
Whitepaper brands-es
Whitepaper publisher-es
Display media trading desk (DSP) - Karthikeyan Haldurai - Google
Introduction to Ad Tech
AdTech Late Stage Deal & M&A Analysis (Thomvest Ventures)
Programmatic buying
Arq230964
Why Fintech?
China Mobile Advertising Landscape Report (Thomvest Ventures)
Ad

Similar to Evolution of the Single Page Application (20)

PDF
Intro to jQuery @ Startup Institute
PDF
Front-end. Global domination
PDF
Frontend. Global domination.
PDF
Isomorphic JavaScript: #DevBeat Master Class
PDF
Always on! Or not?
PPT
Agile Software Development by Sencha
PPT
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
PDF
Apache Flex and the imperfect Web
PPTX
Phone gap development, testing, and debugging
PDF
Universal apps lightning talk
PDF
Beginning MEAN Stack
PDF
Isomorphic JS - new silver bullet
PPTX
Ajax presentation
PDF
Always on! ... or not?
PDF
Write Once, Run Everywhere: Can JavaScript deliver what Java promised?
PDF
Creating Rajanikant Powered Site
PDF
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
PDF
Node Web Development 2nd Edition: Chapter1 About Node
PDF
Node.JS briefly introduced
PDF
Building with JavaScript - write less by using the right tools
Intro to jQuery @ Startup Institute
Front-end. Global domination
Frontend. Global domination.
Isomorphic JavaScript: #DevBeat Master Class
Always on! Or not?
Agile Software Development by Sencha
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Apache Flex and the imperfect Web
Phone gap development, testing, and debugging
Universal apps lightning talk
Beginning MEAN Stack
Isomorphic JS - new silver bullet
Ajax presentation
Always on! ... or not?
Write Once, Run Everywhere: Can JavaScript deliver what Java promised?
Creating Rajanikant Powered Site
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
Node Web Development 2nd Edition: Chapter1 About Node
Node.JS briefly introduced
Building with JavaScript - write less by using the right tools

Recently uploaded (20)

PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
composite construction of structures.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Digital Logic Computer Design lecture notes
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
Safety Seminar civil to be ensured for safe working.
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Well-logging-methods_new................
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
web development for engineering and engineering
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Artificial Intelligence
DOCX
573137875-Attendance-Management-System-original
PPTX
Geodesy 1.pptx...............................................
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
composite construction of structures.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Digital Logic Computer Design lecture notes
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
Safety Seminar civil to be ensured for safe working.
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Operating System & Kernel Study Guide-1 - converted.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
Well-logging-methods_new................
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Automation-in-Manufacturing-Chapter-Introduction.pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
OOP with Java - Java Introduction (Basics)
web development for engineering and engineering
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Artificial Intelligence
573137875-Attendance-Management-System-original
Geodesy 1.pptx...............................................

Evolution of the Single Page Application