Comment by onion2k
14 days ago
That makes absolutely no sense as an architecture decision.
It makes a lot of sense architecturally. It's much simpler to update a webpage than force every user to update their app when something needs to change. Consequently a lot of apps, especially on mobile, use a system webview with a page loaded from a server and rendered to look like the app for anything that gets regular updates. The alternative is having lots of versions of the page and needing to manage all the different variations of payloads from them.
Backwards compatibility in an API isn't that hard, but when there's a simpler option (a webview) people will take it.
That said, if there's no native stuff in the app, it is a bit harder to justify.
I can imagine ten alternatives with much better architecture.
This kind of thinking is what brought us the trend of painful Electron apps like Teams.
I'm curious as to these alternatives you can imagine. If you can elaborate.
> It's much simpler to update a webpage than force every user to update their app when something needs to change.
The set of capabilities available to native desktop apps is a superset of the capabilities available to browser-based Web apps.* Ergo, if browser-based app distribution possesses some desirable quality, the same path is available** to a native app not built on W3C/WHATWG APIs.
* You can frequently come across people make a similar logical error in the opposite direction when it comes to being more distrusting of browser-based apps than native binaries, especially with an undue focus on the risk of the app exfiltrating your data over the network—even though a native binary can do strictly more damage than a browser-based app, which is at least confined to its sandbox and the associated execution model.
** It does require, though, that one actually take that path.
“ being more distrusting of browser-based apps than native binaries, especially with an undue focus on the risk of the app exfiltrating your data over the network”
Not a logical error. A notarized or app store app can be blocked from accessing the network so there is no data exfiltration happening. The malware risk is negligible thanks to Apple’s vetting.
<https://en.wikipedia.org/wiki/Motte-and-bailey_doctrine>
“It's much simpler to update a webpage than force every user to update their app when something needs to change”
That much is true, but I consider this misfeature a clear disadvantage for the customers using the app, which are at the mercy of the developer. The days of updates being something positive are long gone. Nowadays they’re a mix of UI redesigns requiring relearning stuff, spyware, unwanted bloat, bugs and a couple of actually useful things thrown in.
That's all wonderful until some dipshit decides to cut features because they were too much of a maintenance burden. At least with the desktop app you can push back and not update.