An Introduction toProgressive Mobile Apps

Progressive Web Apps or PWA takes advantage of new web technologies enabled in modern web browsers to provide users with an experience that's indistinguishable from using a native app.

With PWAs, a user can simply click a link from a search engine result and immediately access all of a product's features and content that is normally only available through a native app. There is no more need to go an app store to download and install the required files on every device.

You can pin a PWA to your home screen or add it to your app drawer. It looks exactly like a native app and not just another browser tab when running, and even supports push notifications. PWAs are also designed to work offline which guarantees that users will still have access to a product even if their mobile reception is spotty.

The Current State of App Development

In a previous post, we discussed the differences between native apps, web apps and hybrid apps. The fundamental issue with developing native apps is the resources (time, money and manpower) required to deploy it across different platforms. Web apps are designed to run on browsers across different platforms and can emulate the functionality of an app, but offer limited functionality when it comes to accessing a device's hardware components.

Hybrid apps are built using standard web technologies and can be repackaged for different operating systems and platforms. This means that developers can code an app once and redeploy it across different platforms relatively easily. Unlike web apps, hybrid apps have access to the same hardware components that native apps have. However, hybrid apps that require complex operations have a reputation for running slower compared to native apps. This is due to the fact that commands still need to be retranslated into something that the intended platform understands.

Why PWAs Could be the Future of App Development

Progressive Web Apps are a relatively new player in the app development world – introduced by Google in 2015. It is still in its early years, yet big names like Wikipedia, Alibaba and Twitter are already embracing the technology with their PWA releases.

Under the hood, PWAs also use web technologies like HTML5, CSS and JavaScript. This means that even small teams can design and deploy a Progressive Web App to a large audience without having to develop, debug and maintain a separate app – or even deal with an app store's rules.

PWAs lets users access a product's features, services and content in a much shorter span of time. Since PWAs are much easier to find via a URL, as well as easily shareable via a link, the extra steps required to install a native or hybrid app is completely eliminated. Lots of users are also concerned about another app taking up more space on their device. So in most cases, the simplified approach that PWAs provide typically leads to much higher conversion and retention rates.

Should you Start Developing Progressive Web Apps Today?

PWAs use service workers to quickly retrieve the resources it needs from the offline cache if available, and only make network requests when needed. This not only improves the subsequent load times of a PWA, but also lets users run the app offline and save their bandwidth.

PWAs also have access to many hardware components of a device such as its GPS receiver, camera, microphone, accelerometer and gyroscope. While support for other components like Bluetooth and NFC are still in the works.

Another major consideration that keeps many on the fence when it comes to PWAs is the lack of service worker support for Safari, which is still widely used on both mobile and desktop platforms. Apple says support for service workers is still under consideration as part of its five-year plan. Despite this, some PWA features, like adding the page to the home screen and removing the URL bar, can still be implemented on iOS.

On the other hand, Microsoft Edge support for service workers is currently in development. While Chrome, Firefox and Opera are implementing more and more PWA-compatible features with every new release.

But even without full browser support for all the features that PWAs can offer, web developers can still implement code with PWA in mind and provide many of its core benefits to users. With a PWA, you can deliver a fast and feature-rich UI that is at par with a dedicated native app – giving your users a seamless experience with your brand or product no matter what device they are on.