It’s time for Progressive Web Apps (PWA)

PWAs offer app-like experiences on mobile devices, being cost-effective compared to native apps, and support offline use and device features.

Numerous advantages of PWA

Progressive Web Apps (PWA) are web-based, online applications with the characteristics of native apps for mobile devices. Their main strength lies in the ability to start up an application, system or website on a mobile device in a way that imitates running an app installed natively on the device. PWA applications often work almost identically to those installed from an app store. You do not always have to create an app from scratch as per PWA guidelines; instead, you can merely add elements from PWA rules to an already existing application.

The cost of creating mobile applications

The majority of created applications can be recreated as mobile versions. Companies often decide to implement dedicated mobile apps in native languages. Here, a separate application is created for each platform at the very beginning, using an already created API for a web system (if it already exists). This requires extensive work from programming, UX and analytical teams. When doing so, certain features or even elements of an app’s appearance cannot be transferred onto native applications. Developers have to compromise for the application mapping experiment to work. However, creating native applications as equivalents also carries some benefits, including using built-in mobile features such as GPS, camera or fingerprint scanners. Despite the undeniable pros and several cons associated with the use of native applications, the cost of developing these apps and supporting as many types of devices as possible is incomparably higher than that generated by the creation of a regular PWA.

Native or PWA?

PWAs contain several features taken from native applications. The main advantage is that new native applications do not have to be written separately for each available platform. The appearance of the launched app is nearly identical to the native interface. Underneath it, however, is a truncated web browser that contains the website or app written in web languages. As a standard, the application is hosted under a specific domain and entering it triggers a pop-up to “install” it on our device. When installed, an icon will appear on the desktop, allowing the app to be launched as a PWA, i.e. its imitation. PWA applications can run offline, which is a major step forward for web applications. Suppose a user loses access to the Internet. In that case, the application stores the changed data, and after reinstating the connection, the system can publish the new data and synchronise it with the database on its own. An interesting feature is the ability of PWA apps to gain access to native device functions. We can obtain GPS coordinates, send push notifications to devices, and use files, even from the camera, provided certain conditions are met. Some of these features are built into the web browser; others may require different access, such as through device permissions. PWA applications are great at handling the Real-Time concept, thanks to which the changing data can be viewed or updated live in the application.

Do you have a web application?

If you have a web application written in web languages and a well-designed API on the server side, you can add a PWA to your app without excessively changing the structure of your system. An important element is to adapt the application to mobile devices so that it is responsive and works efficiently on as many devices as possible. Adding a PWA takes only a few steps and can be easily implemented. Consequently, you can easily enter the world of mobile devices with your application, which was initially adapted only for devices with bigger screens.

How can you quickly create a mobile application using the PWA concept?

You must add two main elements to the web application: a manifest and a service worker. The manifest is a configuration file with a JSON structure, which is read by the browser, interpreted for PWA and used as PWA. In it, you specify which application icons will be used for each platform, the colours of the app loading screen, as well as other necessary elements such as the default orientation in which the application will start. Additionally, the service worker can store the basic app structure, our CSS and HTML used to display pages. Meanwhile, the service worker is a JavaScript file that supports the offline mode and ensures data synchronisation in situations without internet access.

Development

Adding a PWA to an application is a very useful solution if you just want to create a web application and not necessarily focus on mobile devices. PWAs are constantly being improved and increasingly more features can be developed on their basis. Web browsers are also getting better at supporting PWA capabilities, while market leaders in the IT field are more and more sympathetic to attempts at creating apps using PWA.

Contact us.

If you need a partner in software development, we're here to help you.

We will respond to your enquiry immediately.