Google’s Progressive Web
Apps, or “PWA”, initiative
specifies a set of requirements for modern web apps. In this post, we
will take a new Ember app and transform it into a deployed PWA using service workers,
server-side rendering via Fastboot, a web app manifest.
The
checklist for
being PWA compliant is pretty extensive. The general idea, however, is to
build apps that are:
- Reasonably secure and private (HTTPS).
- Responsive to screen sizes and device capability.
- Provide a basic offline experience.
- Have acceptable performance, even on low-end networks and devices.
When a developer follows these guidelines they are rewarded with an application
that performs well regardless of network availability or device quality,
is a candidate for web app install banners,
and generally has a quality user experience.
www.shop-201.com is a progressive
web app built using Ember by the team at 201 Created.
It can be installed on your Android home screen, works offline, and when you
are online supports credit card and Apple Pay checkouts.
To support developers building progressive web apps, Google has provided
Lighthouse. Lighthouse
is a Chrome extension that analyzes a website for PWA compliance. Lighthouse can’t
validate all parts of PWA compliance, but it’s the best check we’ve got.
When you run Lighthouse, it provides a score between 0 and 100 for several
buckets: Progressive Web App, Performance, Accessibility, and Best Practices.
Let’s see how to land a perfect 100 score in the Progressive Web App category while starting
from scratch with Ember. We did
this in the process of building www.shop-201.com,
and the result is pretty great.
Continue reading →