< Back
calendar

Apr 6, 2020

The Case for Mobile Web Apps

You might not need a native app or even a PWA

Header for posting The Case for Mobile Web Apps
Photo by 7shifts on Unsplash

Apple once again received a lot of criticism last month after announcing that the latest Safari release will now erase all locally stored data by a website after a user hasn’t interacted with that website for seven days.

Although Apple later clarified that this doesn’t apply to apps installed on the home screen (PWAs), many people were still outraged and claimed that Apple is trying to kill PWAs.

Apple has always been the bad guy in the PWA story since they’re notoriously slow in implementing features that developers want to use in PWAs. And when some features do work in Safari on iOS, they are not supported when the app is installed on the home screen.

This was the case with direct access to the camera and microphone, which is now luckily enabled for PWAs since iOS 13.4.

Apple May Have a Point

Although Apple has been silently improving PWA support on iOS, they’re still regularly accused of trying to kill off PWAs in favor of native apps and the App Store.

I do believe Apple has business reasons for delaying the development of PWAs. But since they also silently improve support for PWAs, I also believe they realize that this development is very difficult to stop, if they even want to.

Although they’re not literally referring to Safari anymore, section 4.2 of the App Store review guidelines still tells developers to move apps built with web technology to the web.

I don’t necessarily agree with this policy and I also wish Apple would further improve its support for PWAs, but this got me thinking.

Considering that web apps can do most things a native app can and that many native apps could easily be replaced by a well-crafted web app, Apple’s stance might not be so crazy after all.

A Mobile Web App May Be All You Need

It still shocks me to see how many websites are not optimized for mobile devices and actively chase users away by demanding users to install their useless native app.

Even if you don’t want or need a native app or PWA, your website can provide an app-like behavior and give your users a much better experience.

In older versions of iOS, some features are not supported when a web app is installed on the home screen as a PWA, but these features do work as long as you run your app in Safari.

For example, on iOS versions older than 13.4, you cannot directly access the camera and microphone using navigator.getUserMedia in a PWA, but in Safari this works just fine.

If you then optimize your site for mobile use and add a service worker, it can also work offline.

You can even add your site to the home screen like an app. When you add the correct apple-touch-icon link tags, it will even show a nice icon for your site instead of the screenshot.

The only real difference with a PWA is that your app will run in Safari and the address bar will be visible. Other than that, your site will behave like an app. It’s on the home screen and it works offline.

The main thing still missing for web apps on iOS is push notifications but other than that, many features are already supported. Android already supports this and many other features.

Your Web App Is Ready

The main point here is that you can already give your users a great experience today without having to build a native app or a PWA.

It can already work offline and be installed on your home screen and use all modern web APIs.

Forget native apps. Forget PWAs. Turn your website into a great mobile web app that gives your users the best experience possible.

It can. And it should.


Join Modern Web Weekly, my weekly update on the modern web platform, web components, and Progressive Web Apps delivered straight to your inbox.