It’s so easy nowadays to slap some bootstrap and Angular together to build a web frontend. It will work on every device if you don’t do crazy cutting-edge shit. I cannot comprehend why companies dig native apps so much.
^ this. your browser is a user agent, it's working for you, to protect you from any schmuck who you have the misfortune of visiting. it has strict built-in privacy and security guarantees, which, while in no way interfere with the app's primary functionality, do interfere in their marketing bullshit and other kinds of spying.
with apps, you have none of that protective layer, instead there is a certain degree of implied trust which these parties love to abuse.
Maybe for some companies. For others the main draw card is push notifications and a big shiny icon for the product on your phone. Also, just FOMO when every other company has an app.
With a native app, the only thing you really need to send back and forth is some JSON data and let the app do the formatting for you. It's a much better arrangement when your target demographic includes those with bad internet.
How is that any different from a web site? There are multiple caches between the browser and the server. The initial load (assuming a prior visit and no updates since) may be smaller than 1kB.
you can do that with a browser too. with service workers, it can also run without an internet connection and/or indefinitely cache the ui part so that it's also just a json api. most websites already work in a very similar way, and even if it's not intentionally set up this way, your browser will do its best to make it like this to keep your user experience snappy.
your browser just also protects you from certain level of system access that shouldn't be granted to any random website you visit, and that's what these apps want.