Over the last 5 years the web has been evolving at break neck speed to catch up to the snappy and reliable experience that Native Apps are known for. Finally they might be taking the lead. The good news is you’re not late to the party, yet.
Native Apps have not aged well.
Unbounded access to broadband internet in developed countries has allowed native applications to become bloated. Though Google has made efforts to reduce overall package sizes in the Play Store both iOS and Android applications exceed 100MB regularly and average 34MB and 12MB respectively; this may not seem bad but lets look at Instagrams iOS app at 161MB while the PWA is 233KB; 1/500th the size. This may be inconsequential for us, that same bandwidth could be a significant portion of a users annual salary. In Africa 1GB of mobile data can cost ~10% of your annual income.
Web Apps are better.
The average American installs less than 2 new apps a month. This is a scary (and expensive) prospect if you are trying to launch an application with a large install base. Google suggests that every action required to install an application doubled the chance of abandonment. Web apps offer what Native apps can’t as they are immediately demo-able; simply clicking a google search result can drop you immediately into the app experience. Rather then being forced to install an app to fulfill a need, you use the app first and decide after if you want to install it.
Since 2012 the number of unique android device types have quadrupled and iOS has been following suit. Due to Web apps being run on many more devices than Native Mobile Apps and having been much more time to build tools which make responsive design easier, there is a clear advantage working with web frameworks for this purpose atleast until some point where Native frameworks have equally robust tools to support responsive design.
Why PWAs are great!
(in a nutshell) If you have been in the industry for any amount of time you might be asking what makes PWAs different than using PhoneGap, React Native, Ionic, or any other technology that promises a homogenous codebase. ServiceWorkers and Web deployment/install.
- ServiceWorkers: Put simply a “service worker” is a process your web app controls beyond the scope of your application, this exists outside the single browser tab and allows you to mimic features the were previously only available to native apps (mobile or desktop). This is a feature available to any web app with nearly any browser.
- Web Deployment: Web based installs give you one click install on any platform from the same place. Tools like React Native and Ionic are fantastic for building fully native experiences, but with them comes the cumbersome process of submitting to an centralized store and thus forfeiting a significant percentage of your revenue.
Native Apps still have a important role to play and are capable of doing many things web apps cannot but it’s time to realize that the gap between the two is narrowing quickly. Its clear to see that 2019 is going to be a big year for PWAs, and it will be exciting to see how native apps evolve as a result.
Thank you for making it here!
If you enjoyed this post, please consider sharing it or checking out some of my other articles! 🎉 Make sure to subscribe to my newsletter and follow me on Twitter/Github to see what I’m up to. Please share the post with your developer friends on your social media outlet of choice. Thanks to Mat Schmid and Sam Wheating for revising drafts of this post.