Book Image

Progressive Web Application Development by Example

By : Chris Love
Book Image

Progressive Web Application Development by Example

By: Chris Love

Overview of this book

Are you a developer that wants to create truly cross-platform user experiences with a minimal footprint, free of store restrictions and features customers want? Then you need to get to grips with Progressive Web Applications (PWAs), a perfect amalgamation of web and mobile applications with a blazing-fast response time. Progressive Web Application Development by Example helps you explore concepts of the PWA development by enabling you to develop three projects, starting with a 2048 game. In this game, you will review parts of a web manifest file and understand how a browser uses properties to define the home screen experience. You will then move on to learning how to develop and use a podcast client and be introduced to service workers. The application will demonstrate how service workers are registered and updated. In addition to this, you will review a caching API so that you have a firm understanding of how to use the cache within a service worker, and you'll discover core caching strategies and how to code them within a service worker. Finally, you will study how to build a tickets application, wherein you’ll apply advanced service worker techniques, such as cache invalidation. Also, you'll learn about tools you can use to validate your applications and scaffold them for quality and consistency. By the end of the book, you will have walked through browser developer tools, node modules, and online tools for creating high-quality PWAs.
Table of Contents (12 chapters)

Reducing image payload size

Many point to images as being the root cause and to a certain degree they are, but images do not block rendering. Images can and should be optimized, which reduces the overall page size.

Optimizing image file sizes can reduce the overall payload size by an average of 25%. If the page is 1 MB, 25% equals a 250 KB payload reduction.

Responsive images should also be used. This is where you use the srcset image and sizes attributes, or the picture element to reference images that are sized appropriately for the display:

<img srcset="img/pwa-tickets-logo-1158x559.png 1158w, 
     img/pwa-tickets-logo-700x338.png 700w, 
     img/pwa-tickets-logo-570x276.png 570w, 
     img/pwa-tickets-logo-533x258.png 533w, 
     img/pwa-tickets-logo-460x223.png 460w, 
     img/pwa-tickets-logo-320x155.png 320w"  
     src="img/pwa-tickets-logo-1158x559...