Are Progressive Web Apps the Future of Mobile Development?

Should you or your company invest in PWAs?

Faisal Choura
Dec 20, 2019 · 6 min read

Building mobile applications that feel native and work offline has been dominated by either native development using the native programming language of the mobile OS, or by hybrid mobile development using technologies like React Native, Ionic, Xamarin.

But all of these approaches require shipping the application to app stores like the Google Play Store and the Apple App Store.

This is where PWAs come in. They operate close to native applications with a smaller package size, they are deployed to the web and can be easily added to the home screen.


What Is a PWA?

A progressive web application is an application that is built with typical web technologies (HTML, CSS, and JavaScript) and distributed just like any other web application but has native-like functionality.

Google defines that PWA’s should be:

  • Reliable: Loads fast even with bad or no internet connection — due to the fact that over half of the users on the internet would leave a site if it does not load in three seconds. PWAs use service workers to remove the dependency on a web server when there is no internet connection.

Service workers

A service worker is a JavaScript file that the browser runs in the background. It is mainly used as a proxy to the webserver. This means that if the browser does not have a stable internet connection, the requests will be handled by the service worker.

Hence, it could mimic the web server’s actions but from the cache and that gives it the power to work in offline mode.

Service workers can also be used to create features that don’t need a web page or user interaction, like push notifications for example.

Service workers are constantly being developed and, in the future, they might have new features such as geo-referencing to make the user experience as native as possible.


Numbers Don’t Lie

Now that we know a bit more about PWAs, let’s look at why they could be a huge player in the mobile development industry. Let’s start by looking at a couple of statistics (November 2019).

Global mobile OS market share:

source

Android version market share:

source

iOS version market share:

source

Looking at these charts, we can see that Android owns over 75% of the global mobile OS market share and iOS owns around 23%. We can also see that around 75% of iOS phones run versions 12.4 and over 70% of Android phones run versions over Android 8.

The reason behind these statistics is that these operating systems run on powerful phones. iOS 12.4 was released in 2019 and Android 8 was released in 2017, which means that the phones running these operating systems are quite fast.

Even relatively old and low-end phones pack around 2GB of memory and a decent Snapdragon processor. These phones plus Google’s Chrome are capable of running PWAs without the need for native development.

Hence, the recent and new iPhones/Android phones can easily run them and give an almost native-like experience without the efficiency of native applications.

This is excluding any application that needs a lot of graphics power and animations (we all know PWAs are not meant for game development).


iOS and PWAs?

As I stated earlier, Apple owns over 20% of the mobile phone market share and even more than that if we only look at Europe and North America, and they have been extremely slow in adding support for PWAs on iOS.

PWAs are supported on iOS 11.3 onwards, but that doesn’t mean they’re fully supported compared to other browsers (especially Chrome). The support got better with later versions and especially on iOS 13.

Although some of the most important features like push notifications and background sync are still not supported on iOS. Does this mean Apple is against PWAs? No, I don’t think so, I just believe that their strategy doesn’t fully support the idea of PWAs just yet.

The improvements that are happening with every version do show that Apple sees the need to add more support, it’s just a matter of time.

I believe this because, according to this US study in late 2017, users spend 97% in just 10 apps and the top mobile websites received over eight million more unique users than mobile applications.

With Google leading the way in PWA support and Microsoft making Outlook a PWA and making their Edge browser Chromium-based, I believe Apple’s iOS will follow this trend (eventually).


Front-End Frameworks

With the latest front-end frameworks (Vue, Angular, React, etc.) it has never been easier to build a PWA.

They come with super-fast rendering capabilities to make transitions and animations seem as smooth as possible and with frameworks, like Ionic, it makes it even easier to make your application have a native look and feel.

Some of these frameworks have templates ready to be used for PWA development. The technology available to build PWAs is there, mature and ready to be used. It just needs the browser vendors to come to consensus.


Companies That Gained From Having a PWA

A lot of companies are creating PWAs alongside their native applications to give users the chance to access their mobile application services through a web browser.

Here are a couple of examples of companies that have done that. (Here is the source if you want to find out more).

Tinder

By creating a PWA, they cut load times from 11.91 seconds to 4.69, due to the fact that the PWA is 90% smaller than their native Android app. This leads to an increase in the PWA user engagement.

Trivago

Trivago witnessed a huge jump of 150% in users who added the PWA to their home screen.

The offline support allowed users to continue their sessions even when they had no internet connection and 67% of users continued to use the PWA when they came back online. This also led to a 97% increase in hotel offer clicks.

Pinterest

Pinterest upgraded their mobile website to a PWA and the same as the previous two examples, core engagements increased by 60%.

They also witnessed a 40% increase in time spent on the website and a 44% increase in ad revenue.

Uber

One of Uber’s main goals is to get as many people to use their service as possible. That means they also need to target people with slow internet connections (2G).

Their PWA 2G load time is less than three seconds due to the fact that the entire gzipped size of the core app is 50K.

Google, Microsoft, Twitter, Forbes, and a lot more all have PWAs. These and many more examples of PWAs show us how having a PWA has made it easier for people to access a service and, hence, an increase in user engagement.


Conclusion

PWAs have existed for a while now, but their popularity increased mostly due to powerful mobile phones and the support of a community of big companies such as Google, Microsoft, and many others.

With time, PWAs are going to get more popular/powerful and may be up there as the main way of building mobile apps once Apple’s iOS fully supports them.

Better Programming

Advice for programmers.

Faisal Choura

Written by

Credit Suisse full stack developer with a passion for frontend development and UX

Better Programming

Advice for programmers.

More From Medium

More from Better Programming

More from Better Programming

More from Better Programming

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade