The Current State of Progressive Web Apps
A Brief History of Progressive Web Apps
Progressive Web Applications. They’re a hot topic these days, yet it seems like we’ve been hearing about them for years. And we have. In fact, the first high profile mention of the concept came from none other than Steve Jobs at Macworld 2007.
“The full Safari engine is inside of iPhone. And so, you can write amazing Web 2.0 and Ajax apps that look exactly and behave exactly like apps on the iPhone. And these apps can integrate perfectly with iPhone services. ”
Web apps that look like native apps: the roots of the PWA concept are right here in this 11-year-old quote. Simple, right? The irony is that Apple’s concept for these “proto-PWAs” never quite took off, probably due to the massive success of one of their next developments: the App Store.
Apple’s App Store is a central repository of applications; it has the added bonus of allowing Apple to vet and approve what you are able to install on your phone. This keeps things safe, stable, and predictable. It also generates a few bucks for Apple on the side.
So, looking back at the smash hit Apple had on its hands with the App Store, it’s easy enough to see why the PWA concept was brushed aside.
Why is it back now? Google resurrected the idea of progressive web apps in 2015 as a way to enhance the web experience. However, the true answer may lie in a development which occurred with very little fanfare and yet represented a seismic shift in the mobile app landscape:
Apple finally decided, as of March 2018, to support the technology (service workers) that makes progressive web apps possible.
From that day forward, with Safari users part of the target market for PWAs, they became more than and Android-only tool.
What’s So Great About Progressive Web Applications?
If you’re not a developer who’s already up to speed on the details, you might be asking, Why progressive? What’s that all about? Are these apps with a social conscience?
Well, in this case, “progressive” simply means “new features.” Specifically, the new features in modern browsers that allow PWAs to work are manifests and service workers.
The manifest is a simple JSON file that defines the fundamental parameters of the — what it’s called, relevant icons for the app, and other basic characteristics such as colors, fonts, screen orientation, etc.
Service workers, on the other hand, are the real key to the enhanced experiences that a PWA can offer. They essentially act as a proxy between the user and the network.
These are the things that allow a web page to feel like a native app. In adding service worker functionality to the latest iOS, Apple has opened the door for PWAs to reach, for all intents and purposes, the whole mobile market.PWA vs. App Store
PWAs are a radical departure from the app store mentality. They are essentially an extended, enhanced version of a website you might already be using.
When you visit a PWA-enabled site, you are offered the option to install the “app” to your home screen. In fact, you are giving permission to the site in question to install a few extra bits of code which enable all of the extra functionalities that a PWA offers.
PWA Benefits That Can Help You
Highlights of potential advantages of PWAs over normal web and native apps.
- Streamlined codebase- maintain a single version for all platforms
- Converging (iOS/Android/Web) dev teams = lower development and maintenance costs
- Offline functionality in cases of poor mobile connectivity
- Potential performance increases (caching, offline browsing)
- Extra functionalities(e.g. push notifications) without breaking the site for users without PWA support
- Automatic updates
- Ease of distribution (publish without the need for approval from Apple or Google)
- Quick Installation (easy to ‘Add to Home Screen’)
- Search-engine friendly(ier) - although this may create a new challenge - helping users find your certified PWA app
- Continues to work (minus some extra features) if loaded on unsupported browsers (becomes a shortcut link rather than a full PWA)
Things to Consider About PWAs
- Inconsistent access to hardware features - sensors, faceID, fingerprint, GPS (some are supported on Android now, less on iOS as of today) [link]
- 3rd-Party authentication can be tricky (login with Google, Facebook) [link]
- No easily-accessible central repository for installation e.g. App Store (the downside of decentralization is potential difficulties finding your app)
- Good browser support as of June 2018, but not 100% coverage (e.g. iOS 11.3 or newer)
- Getting users to take the extra step of ‘add to home screen’ could be a challenge (promotion, education)
- Spoofing a troubling possibility [link]
- No automatic carry-over on users upgrading to new phones
- Requires iOS 11.3 or newer on Apple devices
- No push, Siri, voice, payment, background code execution support on iOS yet [link]
The Present & the Future of PWA Apps
So, that’s the theory behind progressive web apps.
As you can see, there’s a great deal of promise in this new approach to engaging users on the web. There are also some tricky kinks to iron out before PWAs are ready for universal adoption. If you're currently evaluating PWAs for your organization, you might keep in mind this fact:
Gartner has stated that 50% of all native apps will move to be progressive web apps by 2020.
Test PWAs With Perfecto
Perfecto can help you tests PWAs.
Automate more while accelerating tests to deliver at DevOps speed. Boost your test coverage while applying real user conditions. And do it all faster than you thought possible.
Get started for free. Try testing with Perfecto today.