My main concern is monetization.
With a PWA the traditional monetization method of selling apps doesn’t work. So, your options will be a subscription or ads.
But, a subscription is too much hustle for small utilities and casual games. And I love apps like Procreate that are paid, without subscription and ad-free.
How so? Offer to install the pwa and unlock functionality only after the user has paid. How is that different from a paid "app"?
Everything is doable, and I recognize that my comment of “doesn’t work” was exaggerated.
But I don’t think small apps will do all that work when it is easier to monetize with ads. A more likely scenario for ad-free utilities will be having umbrella subscriptions a la Netflix (like Apple Arcade).
I’m a web dev, too, and I read many enthusiastic articles about PWAs as the future. (Mostly from Google evangelism, for a good business reason). But, the “old school” guy in me that grown-up loading games in diskettes feels that something is lost and more invasive in that future. (I’m not comparing it with the current App Store experience but with the experience of macOS/Windows/Linux, where you can still manually install app binaries).
We're basically there already unfortunately, even for store-distributed software. Apps like Procreate and Pixelmator are a rarity these days.
It definitely doesn't help that the App Store makes charging for new major versions awkward, and that upgrade discounts are basically impossible, but I suspect the main reason is that most developers just make more money from subs than purchases.
As a consumer though, it sucks. Subscriptions are fine if your product has an ongoing cost to you as the developer, for example server or API fees. And I really don't mind JetBrains-style subs, where you can cancel any time and you retain access to the last version you paid for, for as long as it still works on your machine. But, while I appreciate the need for ongoing revenue to continue paying salaries, I am not interested in renting software in perpetuity—that's not a fair deal. Especially when it robs me of the ability to stick with an older version if I prefer it.
And I haven’t heard anyone say “you know I have a really great experience with web apps. I wish all of my apps were web apps on mobile and Electron on my computer”
I think a part of it is an "app craze", i.e. organizations want "apps" just because "an app" is something fancier and totally different than "just a website". I have done an "app" like this (implemented as an optionally installable website).
Also many people, including many developers, also vastly underestimate what can be done with contemporary browsers, so they assume that "a native app" is needed if you e.g. want to take a picture or read a file.
Like can PWAs run in background or respond to location changes, etc
Not really, no
> There is no real reason to have a native app.
Except, you know, for all the reasons where anything web-based sucks: resources needed to run, fast reaction times, performant animations, rich complex controls etc.
The web, unfortunately, made everyone accept the most limited and under-developed version of what things could be.
But you have to apply them to DOM. Where every single little thing results in a re-layout and repaint. There are reasons why you still can't animate height: auto.
The built-in controls also don't help. Can't find it now, but details set display:none or visibility:none on closed contents, and that can't be animated.
And there are a million such things.
The development experience for a PWA could be a dream and it won’t matter if users don’t like them.
User acceptance is all that matters.