Progressive web apps: When web and app merge
Which is better: Native apps or a web app? Actually, the correct answer is: Progressive web app.
For a long time, the debate among mobile developers was whether native apps or web apps were the better choice for companies to get on consumers’ smartphones. There was no clear winner, because both versions involve different benefits and drawbacks.
The main factor in favor of native apps is the greater scope of functions they provide, because these apps can access all of a smartphone’s shared resources, such as the camera or the various sensors. Interactions can also occur even if a user is not actively using an app. Yet this requires activating push notifications for the app and leaving them activated. First off, however, the native app has to clear the biggest hurdle of all: the user has to download it from the respective app store onto his or her device and then actually use it.
The drawbacks can be found in the disadvantages are the higher development expense: While Android apps are written mainly in Java, iOS relies on Objective-C/Swift. So each native app has to be developed separately for the different mobile operating systems. Although there are a set of tools that can be used to develop apps for both worlds, these are based on the lowest common denominator and are no match for native apps. This also applies to new features to be added to the apps. Additional development expense results through the updates of Android and iOS that often require an answer on the developers’ part.
Web apps do not involve this expense, because they are called up in the browser as a specially programmed HTML5 website, so they work on a platform-independent basis. Any device with a relevant browser can use the web app, which then outputs the content optimized for each device. This might work by means of a link that makes web apps accessible via search engines. For security reasons, smartphone hardware resources are usable only to a very limited degree via a web app, precisely because the web app runs directly in the browser. First-generation web apps also required an Internet connection.
The best of both worlds: Progressive web apps
Progressive web apps (PWA) are very similar to the popular HTML5 web apps, but they have considerably more access to the hardware components. They can send push notifications, for instance, use the built-in camera and microphone, and read the battery level. This is made possible by new developments in HTML5, CSS3 and JavaScript, by browsers that are better adapted to the standards, and by more powerful processors in the smartphones. So all they lack in comparison to native apps is access to data in other apps, such as a user’s calendar or contacts. Telephone calls cannot be placed via PWA, either.
Browser options can be used to store a PWA for quick access to the homescreen. Then, the PWA will look just like a native app and can be easily launched via the app icon, without having to use the browser. This avoids obstacle-strewn detours via the respective app stores. By the way, users are also spared the effort of carrying out the rather annoying updates, since PWAs always load the latest version. This is noticeable in the allocation of storage space on the smartphone: Pinterest, for instance, takes up more than 80 MB on the iPhone as a native app; as a PWA, that figure drops to just 150 KB.
The benefits of PWAs at a glance:
- a single development for all mobile platforms
- no updates on the part of the users
- bypass app stores
- discoverable using search engines
- offline-capable
- interactions via push notifications
- access to hardware resources
Examples of progressive web apps
A showroom of progressive web apps has been set up on the website PWA.BAR. Here are some examples that lead directly to the respective PWA when called up via a mobile device:
The bottom line: Is it actually worth it to switch to PWAs?
There are many who predict a great future for progressive web apps. Google and Microsoft in particular are very forceful advocates for the development of PWAs. But it remains to be seen whether they will actually eventually replace native apps. Apple, for example, supports PWAs in its own Safari browser; in the long run, though, they would render the monetarily smooth-running App Store superfluous and break down the gate to their “walled garden.”
At this point, it is too early to make a clear and general recommendation in this regard. However, PWAs are already a viable alternative solution for brands that have previously shied away from investing in a native app. The technical solution is also interesting for operators of smaller shop: we have a separate article devoted to the latest developments in eCommerce in the area of progressive web apps.