Everything open source
May 16–17, 2016: Training & Tutorials
May 18–19, 2016: Conference
Austin, TX

SPA boot camp

Brian Capouch (Saint Joseph's College), Danilo Zekovic (Symphony ), Ben Davisson (Saint Joseph's College)
1:30pm–5:00pm Tuesday, 05/17/2016
The New Stuff
Location: Meeting Room 12 Level: Intermediate
Average rating: ***..
(3.65, 17 ratings)

Prerequisite knowledge

Participants should have practical familiarity with modern web development techniques, including HTML, CSS, and JavaScript, as well as a working knowledge of Node.js and GitHub workflows.

Materials or downloads needed in advance

Ideally participants will have fair familiarity with Github and Node. We have a Vagrant box which replicates our development environment, available at: http://oscon.saintjoe-cs.org:8111.


The single-page app (SPA) is a web application development technique that replaces individually loaded pages with a single page load. This page contains a JavaScript executive, known as the shell, which orchestrates a series of subsequent client-server interactions and presents them to the user in a series of views, a view being the analog of the page in traditional web development. Because SPAs are intended to basically run forever, special coding techniques must be used to minimize the chances of naming conflicts and browser memory exhaustion, optimize page loading and rendering times, and account for potential problem areas such as navigation buttons and bookmarks, SEO, and analytics.

Brian Capouch, Danilo Zekovic, and Ben Davisson offer an introduction to single-page apps, presenting an overview of concepts and techniques focused on practical familiarity with this technology. Brian, Danilo, and Ben review frameworks and toolkits, but their approach remains intensely vendor agnostic.

Topics include:

  • Fundamental concepts and techniques
  • Modular JavaScript
  • The concept of the shell
  • Rendering views and business logic integration
  • Handling the special challenges of navigation, SEO, and analytics
  • A quick overview of advanced topics such as isomorphism, DOM management, and framework integration
Photo of Brian Capouch

Brian Capouch

Saint Joseph's College

Brian Capouch is a longtime open source user, programmer, and hacker. In 2016, Brian retired from Saint Joseph’s, a small Indiana college, where he taught CS using 100% open source tools. He is heavily involved in a number of historical restoration projects. The modern web, full stack universal JavaScript, SPAs, and PWAs are his current passions.

Photo of Danilo Zekovic

Danilo Zekovic


Danilo Zekovic is a software engineer at Symphony, where he develops web applications for clients. He currently lives in Novi Sad, Serbia, where he is attending the graduate school at the University of Novi Sad majoring in software engineering. Danilo is interested in anything that involves programming, web development, and related technologies. Danilo holds a degree from Saint Joseph’s College.

Photo of Ben Davisson

Ben Davisson

Saint Joseph's College

Ben Davisson is a junior at Saint Joseph’s College majoring in computer science. Ben is interested in programming, web development, and content creation and manipulation. He is also on the school’s track team.