Our Blog

A Rousing Debate with ChatGPT on Emerging Technologies Progressive Web Apps vs Cross-Platform Apps

Below is an example of what AI can write when using the “chat” feature. Some of it was just regurgitating back what I said word for word, but there was some useful insight provided as well. The fact that I can have an intelligent debate now with a machine on and emerging technology topic reserved for tech enthusiasts and developers is exciting. The aha moments discuss, talent availability vs technology stack this is a consideration which is notoriously difficult to measure. It shows a level of intelligence and consideration reserved usually for the most experienced technical project managers and IT decision makers.

Dialogue and debate with ChatGPT on Cross Platform Apps vs PWAs

Alex — What is your take on the future of PWAs and cross-platform apps, will they coexist?

AI — Progressive Web Apps (PWAs) and cross-platform apps (such as those built with React Native or Flutter) are both important technologies for building mobile apps, and they have different strengths and use cases.

PWAs are web apps that are designed to work offline and be installed on the home screen of a user’s device, providing a similar experience to native apps. They are built using web technologies such as HTML, CSS, and JavaScript, and can be accessed through a web browser. PWAs are typically easier to develop and maintain than native apps, and they can be accessed by a wide range of devices, including those running different operating systems.

Cross-platform apps, on the other hand, are built using frameworks and languages such as React Native or Flutter, and they can be compiled to run on multiple platforms, such as iOS and Android. These apps provide a more native-like experience, and they can access device features such as the camera and GPS. They are usually more performant than PWAs but harder to build and maintain.

It’s likely that both PWAs and cross-platform apps will continue to coexist in the future. PWAs will be used for simpler apps that don’t require access to native device features and can be built quickly, while cross-platform apps will be used for more complex apps that need a more native-like experience and access to device features.

Some companies may choose to use a combination of both PWAs and cross-platform apps, depending on their specific needs and

Alex — I disagree PWAs can build just as complex apps as any native app, and your example is flawed, web browsers like Chrome and Safari have device access like GPS and camera

AI — You are correct, my previous statement was not entirely accurate. PWAs have evolved significantly in recent years and now have access to a wide range of device features such as camera, GPS, and push notifications. This means that PWAs can be used to build complex apps that have a similar functionality to native apps.

PWAs have come a long way from the early days of web apps, with the introduction of new APIs and technologies such as service workers, which allow for offline functionality, and the Web App Manifest, which allows for installation on the home screen of a user’s device.

In summary, PWAs can build complex apps and have access to device features like gps, camera and push notifications, but it’s still true that building cross-platform apps using React Native or Flutter can offer more native-like experience and might be more performant, however the development and maintainability might be more complex.

It’s ultimately a trade-off between the development and maintenance cost and the level of native-like experience you want to achieve. Both PWAs and cross-platform apps have their own strengths, and the choice will depend on the specific requirements of each project.

Alex — you are right that cross platform apps like Flutter and React Native have better access to native device APIs as these aren’t all yet available in the browser, particularly Safari, but I disagree they are more performant, for a few reasons

1. With web technologies you have access to a large developer pool making it easier to find talent to work on your app in addition these developers are often very experienced as they have been working with the web for a very long time, though many PWAs techniques are new they do not take long to understand for an experienced dev, in addition many new developers are getting into web development every day.

2. Working with established web development technologies can allow for smoother development not only because of the developer experience but because they are stable, robust with very large communities.

Because of these two points there will be less time on learning a new technology that may not be as mature and more time spent making your app faster and more performant with modern web technologies such as single page applications, Hotwire Turbo and web sockets, service workers and Google Lighthouse optimization.

AI — You are correct, that cross-platform frameworks such as React Native and Flutter do have more access to native device APIs, but it’s not always the case that they are more performant.

You also highlighted several good points about the benefits of using web technologies for building PWAs. Having access to a large developer pool and experienced developers who are familiar with web technologies can make development faster and smoother. The stability, robustness and large communities of web technologies can also lead to better performance and optimization of the app using modern web technologies such as single page applications, Hotwire Turbo, web sockets, service workers and Google Lighthouse Optimization.

Additionally, as web technologies continue to evolve and improve, the gap between the performance of PWAs and cross-platform apps is likely to narrow further. This is why many companies are now using a combination of both PWAs and cross-platform apps, depending on their specific needs and requirements.

In summary, both PWAs and cross-platform apps have their own strengths and use cases, and the choice will depend on the specific requirements of each project. While cross-platform apps have more access to native device APIs, PWAs can offer similar functionality and can be built more quickly and easily by experienced web developers and with modern web technologies.

Below are some photos of my talks at Drupalcon, you can read more about PWAs on Opensource.com