Progressive web applications
Progressive web applications (PWAs) are web applications that feature the responsiveness and user experience of a native app and can be "installed" on a user's home screen. Brian Capouch and Danilo Zekovic offer an overview of and an introduction to this exciting new technology.
Talk Title | Progressive web applications |
Speakers | Brian Capouch (Saint Joseph’s College), Danilo Zekovic (Symphony ) |
Conference | O’Reilly Open Source Convention |
Conf Tag | Making Open Work |
Location | Austin, Texas |
Date | May 8-11, 2017 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
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.