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.
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.
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.
For exhibition and sponsorship opportunities, email oscon@oreilly.com
For information on trade opportunities with O'Reilly conferences, email partners@oreilly.com
View a complete list of OSCON contacts
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • confreg@oreilly.com
Comments
slides.com/capouch/pwa
Let me know if you have any trouble accessing them. The slide that should be public.
Are the slides from this presentation going to be posted somewhere?