Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

Progressive web applications

Brian Capouch (Saint Joseph's College), Danilo Zekovic (Symphony )
1:45pm2:25pm Thursday, May 11, 2017
Infrastructure, The Cutting Edge
Location: Meeting Room 18 A/B
Level: Beginner
Average rating: **...
(2.60, 5 ratings)

Who is this presentation for?

  • Web developers and mobile device developers

Prerequisite knowledge

  • General familiarity with the spectrum of technologies that encompass native mobile applications, hybrid applications (e.g., Cordova), and web applications that run in mobile browsers

What you'll learn

  • Explore progressive web apps (PWAs), service workers, and the app shell
  • Gain an overview of the developing technologies that allow developers to add progressive features to their web applications


Progressive web applications (PWAs) utilize an emerging set of technologies to create web-based applications with the responsiveness and user experience of a native app that can be installed on the home screen of a mobile device. PWAs are based on modern browser features that recognize an app’s progressive features and invoke what has come to be known as “gate prompting,” which invites the user to install the app on their home screen.

The primary technical components of a PWA are service workers and the app shell. Service workers are background scripts that run independently of the browser and offer features like script and data caching, server push handling, offline detection, and network service request interception. They interpose themselves between the browser and the network and respond programatically to various user actions. A PWA can use multiple service workers. The app shell is a model or pattern for controlling a PWA, implemented as a script. It coordinates the actions of service workers in responding to user interface and network events. The shell loads quickly and provides a means for the application to offer fast response times and a variety of native-feeling services to the user.

Brian Capouch and Danilo Zekovic offer a high-level overview of the emerging architecture of progressive web applications, examining code snippets that implement various components and functions and exploring the tools that provide the PWA developer with information about the application, in terms of its adherence to best practices and performance under real-world conditions.

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.

Comments on this page are now closed.


Picture of Brian Capouch
05/12/2017 10:25am CDT

Let me know if you have any trouble accessing them. The slide that should be public.

05/12/2017 10:20am CDT

Are the slides from this presentation going to be posted somewhere?