Web apps or native apps? For a long time, that was the choice we had for building mobile experiences. And we all know the tradeoff: Native apps are really expensive but give the best experience. Web apps can be mobile-optimized, but the experience is terrible. While this was once directionally true, today it’s not true at all. I’ve seen some amazing mobile web experiences that rival the best native experiences on my phone. And we now have better tools, frameworks, and build outputs to make this more of an even experience across web and native. The one I’m most excited for? Progressive web apps!
Progressive web apps (PWAs) are simply web apps with a few added benefits. But before getting to those, I want to repeat: These are simply web apps, not a brand new “thing” that you’ll need to learn and hire for. So what makes them so progressive, and why can they replace native apps?
- PWAs look like native apps. PWAs have an icon, a loading screen, and store data and user preferences locally. Brands that want a consistent presence on the device get that here.
- PWAs work on many devices, more than just mobile. Android and iOS devices both support PWAs today. But these apps work on Windows desktops as well, as they are supported as first-class citizens in the Microsoft Store.
- PWAs work offline. Service workers are now supported on both iOS and Android, enabling developers to create robust app caches that enable offline functionality. It’s not mandatory to support this, but the opportunity is there and growing.
- PWAs can be notified. Web push and the notifications API enable companies to send native push notifications to PWAs on both mobile and desktop devices. If you’ve browsed Facebook lately on the desktop and been asked if it could send you notifications, you’ve seen this standard in action.
The best part about PWAs may be how easy they are for your users to install — no more failed app store searches and no more dancing around deep linking technology hoping to go to the right place. Now, your customer visits your website and gets prompted (on Android), does an “Add to Home Screen” (unnaturally, on iOS), or even installs them from the Microsoft Store.
Finally, building a PWA forces developers to make their app perform well (to meet as many Lighthouse criteria as possible), which is what your users want anyway. The additional work to build these apps can be minimal at the start and iterated on over time. The tooling is small today (many start with Google Workbox or Ionic PWA Toolkit), but you can be sure that many more tools are right around the corner. With all of that in mind, if you’re building or updating existing web apps, join the likes of Twitter, Google Maps, and Instagram and take this time to make them a progressive web app!