Because, relatively speaking, it solves the distribution problem. Distributing to your set of servers is easier than distributing to the set of desktops.
> At the cost of a generally worse end user experience and no offline ability.
Yes. This is a cost and a benefit you weigh according to the capabilities of your development team. If there is nobody to outcompete you, that is factor into the decision.
> I am glad Apple didn't do that and stayed native for nearly everything. This is a big selling point for me.
Right, but Apple also perfectly exemplifies the problem with that approach - their software is incredibly limited, and can only run on a ridiculously small number of computers. Even if the software is good, which ehhh, but even if it is - there are cons to that approach.
To expand, this also hurts the customer in a lot of direct and non-direct ways. You're forced to buy Apple hardware, and that hardware might not meet your capabilities. This further fuels anti-consumerist anti-repair behavior, because they know that their computers are the only ones you can use.
And, since they create their own market, they kind of have you in golden handcuffs. If their prices go up, which they do and already are high, you're along for the ride.
I didn't overstate them, if anything I was far too generous.
It's plainly true that Apple software locks you into Apple devices, which are more expensive than they should be. In addition, those devices are some of the most anti-consumer computers made. You can't repair them, they're locked down.
What Apple does is impressive, sure. But let's not pretend that making mediocre software that runs on 1% of computers is anything compared to the Web. They have fundamentally different goals, which is why native Apple software doesn't compete with the web.
It doesn't. I work across both Windows and Apple stuff and have zero issues moving things back and forth on a regular basis. Hell even their email is plain IMAP+SMTP. Try that with O365/Microsoft.
As for the repair? You can literally buy parts here and repair them yourselves. I have actually had to replace a USB-C port on my last M1 MBP and it was dead easy. https://selfservicerepair.com/ . I see this everywhere I go: parroting the same misinformed garbage about their repair situation.
You just dislike Apple and can't wait to tell everyone about it.
1. I don't dislike Apple, I have multiple Apple products.
2. Apple devices are uniquely difficult to repair and this is done on purpose. For a long time, you couldn't do it at all. Now, you can... if you use Apple approved tools and parts.
It's just plainly dishonest to say Apple does not engage in some of the most rampant anti-repair anti-consumerist behavior in the industry. They do, and they have been for a long time.
Also yeah, O365 sucks. You know what else sucks? Webkit on IOS, iMessage, SwiftUI, Mantle. Apple loves loves loves their software vendor lock-in on technologies that nobody actually cares about. Just use real standards for fuck's sake.
Which also goes to show how backwards Linux package distribution is at this point.
If you’re a small company, you can either build a web app which works everywhere; or you can deal with a distribution pushing out a buggy 3-year-old release against your will, with users harassing you about bugs.
Packaging on Linux for normal desktop apps was dead on arrival. It was never viable except for niche open source apps. The resistance to this fact makes the failure of the Linux desktop somewhat self-inflicted.
Sure, but this isn't particular to Linux. On what platform is it better? In terms of developer experience, web apps just beat distributing to the end-user device every time.
It's not better for developers on iOS. There are loads of complaints about the costs imposed on devs and the hoops they have to jump through to publish in the app store.
Linux repositories are objectively worse. Unclear guidelines, zero publishing control, patches against your will, removal of donation links or warnings if you anger the distribution maintainers, having to do this over and over dozens of times, I would take Apple any day.
And as you can see, 99.9% of developers took Apple’s route. Market share can only partially explain this, as even tiny platforms like Palm had better support than Linux.
> And as you can see, 99.9% of developers took Apple’s route
Um, well no they didn't, because most things are web applications. And most software actually targets Windows. And then most phone software that's big is cross platform.
Apples' model is cool, but it certainly has a lot of drawbacks, and in many ways they did not win. They, too, lost to the web.
Windows, Mac? Bundle your own updater. Or use Steam. Download one file and run with a click.
PlayStation? Nintendo? Submit it, wait about two weeks, and out it goes.
The Linux desktop is single handedly the worst distribution platform for an app developer, both in fragmentation and being unable to update your own software. The Linux desktop also had the arrogance to claim developers should do it their preferred way; and to harass devs for using tools like Flatpak. Then they wonder and complain and can’t understand why devs refuse to make Linux versions even for cross-platform frameworks.
The idea that someone like Adobe should make a package for each distribution, and negotiate with each distribution if they are sending out some ancient version of Acrobat, was a stupid power-trip philosophy on day one with none of the clout required. Even Apple doesn’t reserve the right to stonewall releases purely because of version numbers.
You're neglecting all the parts where you've got to sign your install binaries.
> Steam
This is a third party marketplace that exists specifically to solve this problem and it carries all the baggage of any other third party marketplace, in the abstract.
> Video games
I'm not really shipping in these environments but I doubt it's that easy.
> Apple
They will happily stonewall you on many other small issues, however.
> You're neglecting all the parts where you've got to sign your install binaries.
This takes less than 15 minutes when you know how to do it. Arguing with a distribution takes weeks. Arguing with dozens of distributions could take months.
You are approaching this solely as a solo indie dev would - which is why, with few exceptions, only solo dev software is on Linux.
> They will happily stonewall you on many other small issues, however.
You should see even a fraction of what developers on Linux have been stonewalled over. I will literally take Apple.
I am glad Apple didn't do that and stayed native for nearly everything. This is a big selling point for me.