The Franconian
Coder Studio

Bridging the Gap:

Bridging the Gap:
When Web Apps Need Native Help

Web applications are powerful, but some tasks—like GPS tracking and file system access—still require native solutions. I explore the challenges and compromises of combining PWAs with native ‘sidecar’ apps.

What to do if the capabilities of a web application are not sufficient? Unfortunately, I am faced with this question myself.

I am a big supporter of web applications. For many use cases, no more is needed at all. But there are still areas that cannot (yet) be solved with this.

There are two areas that concern me at the moment and there is no way to solve this with web features:

  1. GPS tracking (in the background) or geofencing: With web applications I can determine the location when actively used. However, this cannot be done in the background, which makes automatic tracking impossible. Geofencing is also not supported, which could be an alternative.

  2. Access to the native file system: Unfortunately, if you need complete access to the file system, you can’t get very far with Web APIs today. Access to mobile devices is usually always sandboxed. And access is still restricted on desktops.

For my specific use case, this is only a fraction of the entire functionality. So most things can easily be built as a PWA. Just not completely.

My thought: A native app as a “sidecar” that closes this gap. Limited to those functionalities that a web application cannot provide. The pure PWA could still be used completely independently in a limited way.

Now you could say that this is exactly what tools like Capacitor do. And in fact, that’s true to a certain extent. I’m just generally not a fan of hybrid implementations. Even Flutter doesn’t completely convince me personally. And ideally you don’t want to be primarily dependent on a native app.

But my approach isn’t particularly great for the user. You use a PWA and then may have to install a native application. That might not be a bad thing, because after a one-time installation it does its job in the background. Updates are probably not needed frequently at this level. However, it can easily cause this application to be put into sleep mode by the operating system. Smartphone manufacturers deal with this very differently.

Either way, it’s a compromise. And of course it also shows that web applications and PWAs are far from being able to take on all tasks.

Do I give in and build a native app? I don’t feel like hybrid. Or do I take the approach I described until the Web APIs are even more powerful?

#pwa#native apps#web apps#gps tracking#file system access#hybrid apps#web apis