This doesn't explain why PWAs are still a rarity on Android though. You'd think that the ability to target both desktop (web) and Android (web/PWA) would've attracted more developer interest.
I can't really comment on other companies, but my company is currently moving our product from MVP to a more mature project. When comparing various options (PWAs/web, Flutter, React, Native), PWAs/web was immediately discarded as an option because we didn't believe we could deliver the level of UX excellence we're targeting. Nor did we believe that PWAs would be any easier to develop and maintain than two native apps.
Perhaps the strongest argument in favour of the web is that it's a lot easier to hire web devs than iOS and Android developers. But that's all moot if the web can't deliver the product experience we're targeting.
We're still considering React, but I feel like we're inevitability going to end up building a full native experience.
Generally speaking, I feel that PWAs and the web have a long way to go in terms of tooling, performance and UX excellence, before companies in our position will be comfortable adopting it. At least with iOS, it's really easy to create fantastic user experiences and maintainable software as long as you're willing to follow Apple's guidelines. It's a lot more difficult to achieve the same on the web.
> This doesn't explain why PWAs are still a rarity on Android though. You'd think that the ability to target both desktop (web) and Android (web/PWA) would've attracted more developer interest.
I can only guess, PWAs are like the hidden nugget of gold that devs poop on because it doesn't fit their preferred tools or experience or something.
The other reason that comes to mind is it is much easier to sneak in dark patterns of data collection and spying with native. Web is expected to degrade gracefully when denied permissions.
> PWAs/web was immediately discarded as an option because we didn't believe we could deliver the level of UX excellence we're targeting.
Seems odd. Web interfaces are very very good for pretty much any information display. They have their limits too. But unless you have a specific requirement that actually hits those limits this particular reason seems hollow to me.
> Nor did we believe that PWAs would be any easier to develop and maintain than two native apps.
This one is, frankly, deluded. Both app routes have significantly more upkeep than web. API churn and app store processes come first to mind. Not to mention three code bases vs one that could also be your website, which you need anyway.
> We're still considering React, but I feel like we're inevitability going to end up building a full native experience.
> Generally speaking, I feel that PWAs and the web have a long way to go in terms of tooling
Wow, I doubt you have any real experience with react native tooling, which is infinitely worse that web tooling. And even tries ( poorly) to replicate web tooling.
Seriously, a platform that comes with full debugging suite in "developer tools" in the browser has no equal in any systems I've built before. How many runtimes can you name that come bundled with full dev and inspection tools? Nicely separated out layout, code, and network. You can sit down to any dev, QA, or customer system and have the full inspection suite at your finger tips.
There seems to be a heavy pro native bias. Don't get me wrong, there are reasons to pick native, but I see very few people laying out good analysis behind their choices. Oh-well, competitive advantages for me.
> I can only guess, PWAs are like the hidden nugget of gold that devs poop on because it doesn't fit their preferred tools or experience or something.
PWAs also fit in a niche that is difficult for most organizations to digest. It's fundamentally front end tech, but service workers are non-trivial and also are decidedly outside of the typical front end dev's experience. They resemble backend, but the life cycle is somewhat complex and difficult.
Out of the box frameworks can provide basic service workers, but that doesn't make a PWA really shine.
It's a powerful but unusual tool that's slotted into a strange place. They are rarely used even though they can significantly improve user experience without going full PWA.
Been working in back end and front end for years. The number of front end devs I've met in the wild who understand service workers, their use cases, and how to build one, I can count on one hand.
> When comparing various options (PWAs/web, Flutter, React, Native), PWAs/web was immediately discarded as an option because we didn't believe we could deliver the level of UX excellence we're targeting. Nor did we believe that PWAs would be any easier to develop and maintain than two native apps.
Interesting. What did you find lacking regarding UX for PWAs?
To me it's often glaringly obvious how many native apps are written for iOS first, then ported to Android. In these apps I think the UX is much worse than if they had just given me a decent web app to interact with.
Regarding why a PWA would be easier to maintain than two native apps, you mention it yourself in the next paragraph: it's much easier to find a decent web dev. Their knowledge also directly translates to being able to build/maintain marketing and store websites for you.
Other benefits I've noticed is that with a web app
- there's no 3rd party gatekeeper between you and your end users.
- The app updates itself when used, meaning users will almost always be running the latest version of your app
- There's no app store review for you to wait on before being able to publish bug fixes or new features
- You can sell stuff inside your app without a gatekeeper taking a 30% cut
- Speed of development: as only two web devs responsible for web app, marketing website, and product checkout we could still keep the web app in sync with the mobile iOS and Android apps produced by a team of three devs.
In what ways do you think the tooling is lacking? I think the tooling and flexibility is actually quite good :-)
I've often amazed people by setting up an ngrok tunnel, giving them a live preview of whatever feature I'm working on at the moment. While this can mostly be dismissed as just a cool thing you can do, it was invaluable when the UX-designer and I worked on a feature during lockdown.
All that said, I don't know what kind of app you're building, and
there are of course types of apps that are best done natively. In my opinion, however, they are very few: 9 out 10 apps on my phone would work just as well being PWAs.
I can't really comment on other companies, but my company is currently moving our product from MVP to a more mature project. When comparing various options (PWAs/web, Flutter, React, Native), PWAs/web was immediately discarded as an option because we didn't believe we could deliver the level of UX excellence we're targeting. Nor did we believe that PWAs would be any easier to develop and maintain than two native apps.
Perhaps the strongest argument in favour of the web is that it's a lot easier to hire web devs than iOS and Android developers. But that's all moot if the web can't deliver the product experience we're targeting.
We're still considering React, but I feel like we're inevitability going to end up building a full native experience.
Generally speaking, I feel that PWAs and the web have a long way to go in terms of tooling, performance and UX excellence, before companies in our position will be comfortable adopting it. At least with iOS, it's really easy to create fantastic user experiences and maintainable software as long as you're willing to follow Apple's guidelines. It's a lot more difficult to achieve the same on the web.