Is this really true? wow. I'm shocked that a company of Dropbox's size hasn't built native clients for each platform (or rearchitected the core to be based on something like Go or Rust that is fast and cross platform, and just building the UI parts in the native frameworks)
From their POV whatever is in their data centers will be microscopically optimized and written in carefully handcrafted Rust and then later covered in blog posts.
For clients their unspoken answer is 'upgrade hardware and stop whining' or 'we have strategic direction to deliver uniform client experience across platforms' which would just mean write some JS/Electron crap.
I'm guessing you never used Google Drive's Backup and Sync on Windows. I used it for the first time a month or two ago. Simply clicking the system tray icon brings up a blank dialog that takes seconds to render. Both Drive and the sync tool have been around for quite some time so I expected it to be a polished experience.
I also expected the integration with Google Photos to be excellent since Photos is a major Google service, but in a terrible case of bad timing I just happened to attempt to use it when Google had a Drive -> Photos service outage.
The client used to be great when it was "Google Drive" but of course they had to rewrite and rebrand it to make it unbearable. Enterprise users, IIRC, still get to use the good client though.
Google's much larger and they moved away from some excellent native clients like Google Talk, which IMO took the crown from MSN and other chat clients a decade ago. It's the same story for photos and other apps. They've consistently killed native apps and replaced them with poorer-UX pure web apps.
Meanwhile Slack is happily sticking with their Electron app and wasting the resources of hundreds of users machines and who knows how much electricity in total.
For reasons I cannot fathom, it seems like bigger companies are far less likely to justify the resources to build multi-platform native software than smaller ones.
Seems logical (if depressing) to me: companies that do less work to customize their product to their target customers will find it easier to get big in the first place. Companies that care about craftsmanship above all else have to deal with being small. The violinmaker down the street from me does excellent work but he's never going to be as big as Toyota.
Companies like Dropbox tend to make the bulk of their money by selling to other businesses, as well, which by definition is the set of customers who care more about volume and price than craftsmanship.
Pretend you're a Dropbox salesperson, and your job is to go to other companies to sell them on enterprise Dropbox. How many times do you think you're going to hear someone challenge you on what version of Python the Mac client uses? It just doesn't happen.
There's many small ("indie") companies that make great Mac software, and do it by being Mac-only. That means they'll never be huge, but it also means they're never going to have a second-rate Mac client.
Yes, a company of dropbox's size definitely has an iOS team (not 1 iOS developer). They absolutely have the resources to do this.
But I suppose you're right. Even true of Slack. It's totally a meme that Slack's electron client is horrendous and bloated, but it probably hasn't stopped their growth, so where's the incentive for them to improve it?
What sucks is that server-side performance is their problem, and client-side performance is your problem. It becomes their problem if growth slows or if users leave, but it's often too late.
I'm starting a company and writing native clients. There isn't any reason not to. There are lots of cross-platform GUI libraries that are fine for business applications, you get native speed, there are plenty of languages that are both safe and fast. You get full access to the full power of the OS if you need it. I think the current craze of non-native clients is because of web-developers who don't know how to do anything else, so they just mimic a website on desktop.
It depends what they're using. Often, the cross platform libraries are abstractions that just call the native functions for that platform. Even in that case it's difficult because differences to that platform can cause minor layout issues.
There are cases where a custom, bespoke application for each platform is warranted, but that is rare. It's a continuum between the custom, bespoke and a UI/color scheme completely custom to your app.