It is a pain to deal with their App Store, but it isn't intolerable. I don't charge for my apps, but I understand that the Apple ecosystem is very lucrative for devs that do.
> causing codebases to become complicated and littered with if/then evaluations for various SDKs
I have found that I almost never have to do this, and when I do, it's usually a bad code smell. Part of the reason, is that I develop native, for one platform at a time. It might be another story, entirely, if I have to develop for multiple ones.
I just got contacted by a friend, wrt an ObjC app that has been deprecated for over a decade. He reports that it still works fine, on iOS18.
Many years ago, I spent a few months, learning Android. The thing that really put me off, was the Android Pizza of Death. That's the pie chart that describes the percentage of users, running various Android versions.
It was sobering.
Apple basically allows me to write support for the current OS, and support just one back. The app I'm in the process of releasing now, works in iOS 15, but I am declaring support starting at 16, and it works fine in 18.
Android, on the other hand, is a dumpster fire. The worst SDK I've worked in my life, building UIs there is incredibly frustrating.
The issue with mobile development is that web apps and PWAs can cover a lot of the same ground now and getting people to install new native apps is really hard.
I think the industry is going to need to find a new source of income or focus on customer value beyond dark patterns on mobile web to change that.
I don't envy mobile developers trying to regain that trust.
I know. Sometimes it makes sense. Sometimes it is easier. Sometimes it is for work, and it is a requirement. Often it could be a page, and is not just to have access to your device data.
For myself? Most of the programs I write are pages. Works on any device, Writing guis is not a problem, there are a ton of useful frameworks. There is no need for synchronizing data between devices, not need to install it on client devices etc. Etc.
Ask HN: Why is Android Development so difficult/complex? (compared to Web and Desktop)
https://news.ycombinator.com/item?id=40742719
Ask HN: Am I crazy or is Android development awful?
Probably significant in terms of speed of development, time spent maintenance projects, etc
I've been lucky enough not to run into the things people often complain about with Apple. They don't mysteriously reject my apps; and when they deprecate/require something, the reason makes sense to me and it's easy to accommodate. The differences I experience are rather in the quality of languages and APIs/frameworks.
SwiftUI is the exception. If they deprecate UIKit/autolayout, I'll move to the backend in one weekend.
WSL was good enough to keep me on Windows, but I am back on iPhone one generation later (android was not my jam).
If I had unlimited time, I’d be tinkering on PWAs (super glad to see rails pushing in that direction).
I have never developed a mobile app, so I may be oversimplifying it. Let me know if you have been down this path and agree/disagree.
The only headache that Donn eludes to that I've experienced had to do with Android's scoped storage. It's taken them a few tries to get it right, and their documentation hasn't really provided good best practices, so I've had to roll with the punches a few times. But I really haven't had to deal too much with Donn's other points.
React Native also works but has it's own set of challenges.
I haven't ported it to android, but I expect it to be simple too.
What I don't understand from the article is the moving goalposts. I had one threat of store removal because of a lack of sales and updates, so I found some stuff I didn't need to ship and removed it and pushed that as an update. Not so. I think it has been in the store 4 years or so now, so this doesn't seem too much work. I guess it could be churn in the areas that I deliberately avoid (e.g. I have no networking and only use the screen and audio out)
So if your app was for Android, it would not be installable on new devices.
For iOS I am not sure, I think they are better about leaving old apps alone.