It's a weird situation where we have vast power available on our local environments and burn it all to run JavaScript VMs to access huge server farms for functionality which in many cases was already available in local applications.
Sometimes I find my internet totally sucking only to find out there's some app like iCloud photo sync trying to download some photos from one of my contact's streams. Or at one point Mac OS decided to download a sizeable XCode update in the background.
These features are a big convenience back in Canada, but really frustrating when travelling and using slow connections. I really wish there was one setting somewhere to turn off all background syncing and downloading.
So far the best solution I've found is to install Little Snitch and just manually approve connections.
Most of the apps I want to use don't make sense without internet access anyway.
Native applications mean you own the data you work with instead of surrendering it to a remote server you have no control over. It means you will be able to use that data even after the provider decides that the application is not profitable any more and they take it offline.
1) sharing data between apps is near-impossible, unless format converters are written (they never are) and explicit manual steps are taken.
2) linking between apps is impossible (e.g. you configure an address for a client then click/tap on it to navigate to said client when the application is not made by microsoft).
3) searching across apps is impossible. You can't just go to google.com, type in what you remember and have it show you the app.
4) native apps are expensive, because they never have a huge market (compared to online apps).
5) native apps are really badly supported.
6) you can't give anyone else access to your data (easily, just look at how long it took microsoft's army of developers to give office some semblance of real sharing. And it's still not up to par).
7) anyone you want to give access to a doc now has to buy your (expensive) mobile app.
I'm not saying you're wrong, just that you are forgetting quite a few facts here. Native apps are usually self-contained, small, unmaintained things. Yes, that does have some advantages, but it also has large disadvantages.
I would even agree with the "ads are good for you" argument to some extent : these companies are "spying" on you in order to attempt to create (theoretically) win-win economic transactions. Essentially they show you stuff you want, in order to make you want to buy/have/rent/... it. That is good for you (you get "value" in the economic sense), the other side gets some money, and a small "tax" is paid to the intermediary. Economic activity goes up, and it becomes easier to get a job, ... etc. Of course this argument only holds for pay-for-transaction ads (ie. not for banner ads, not for things like facebook, essentially only for google's model).
Other than that, I think you are mostly confusing cause and effect - none of those are results of technical limitations of "native apps" per se, but rather an effect of the marketing push towards "the cloud". After all, Firefox is a "native app" - as you might have noticed, it's an "expensive small, unmaintained and badly supported thing with very few users".
This is different for online?
> 2) linking between apps is impossible (e.g. you configure an address for a client then click/tap on it to navigate to said client when the application is not made by microsoft).
This is not true, all major operating systems support custom URI handlers.
> 3) searching across apps is impossible. You can't just go to google.com, type in what you remember and have it show you the app.
This is somewhat of a fair point, but if you already have the app installed you can search your installed applciations, which will be a limited search space.
> 4) native apps are expensive, because they never have a huge market (compared to online apps).
This is true, but I believe the cause is closer towards ads/datamining.
> 5) native apps are really badly supported.
What?
> 6) you can't give anyone else access to your data (easily, just look at how long it took microsoft's army of developers to give office some semblance of real sharing. And it's still not up to par).
There no reason something like Google Docs couldn't be implemented in a native application, APIs are still just APIs. It may just seem less natural to do so for some reason, though.
> 7) anyone you want to give access to a doc now has to buy your (expensive) mobile app.
What?[1][2]
[1] https://play.google.com/store/apps/details?id=com.dataviz.do...
[2] https://itunes.apple.com/en/app/documents-free-mobile-office...