I've shipped iOS for a long time. Long enough to remember when "mobile" was where the energy was.
That's not really true anymore. The web won. Even before any of this AI stuff, native was quietly slipping — fewer new grads picking it, more teams reaching for a cross-platform thing because hiring was easier.
Then the models showed up and made it worse.
Here's the part that stings if you do this for a living.
Ask a model for a React component and it's basically a senior who's seen everything. Ask it for SwiftUI and it's a smart intern who read the docs once, two years ago — the kind who'll invent an API with a straight face rather than admit it's lost. The web has oceans of open code to learn from. Every blog, every Stack Overflow fight, every half-broken CodePen — all out there, all fair game. Native has a puddle by comparison.
So the models are just better at the web. Not a little. Noticeably.
I kept asking why it felt this bad, and the answer turned out to be the thing I love most about the platform.
Apple ships hard. Every single year there's a new framework, a new way to do the thing you already knew how to do, an API that quietly deprecates the one you shipped last spring. People complain about it. I never really did. It's the reason the platform still feels alive after all this time. It's the reason there was always something new to learn — which, if I'm honest, is half of why I stuck around.
That same habit is exactly what keeps the training data permanently behind.
The model learns the world as it was a couple years ago. Apple has already moved twice since then. So the code comes out fluent in a dialect nobody ships anymore — old availability checks, the pre-async way, state stuffed in the wrong place. It compiles in its head and falls over in Xcode.
The very thing that made iOS worth loving became its handicap. You can admire a treadmill and still notice you're the one on it.
And it's a genuine good-and-bad knot, not a complaint. I want Apple to keep moving fast. Users get the new stuff first, the platform doesn't rot, and people like me get a reason to stay curious instead of coasting. I wouldn't trade that. It just happens to cost me, this one year, in this one way.
There's a quiet sadness to it that I didn't expect to feel on Apple's behalf. The best instinct, punished by accident.
The honest read is that it's temporary.
Data catches up. It always does. And some folks aren't waiting around — there's real work on generating fresh Swift code, running it through the compiler, keeping only what actually builds, and feeding that back in. Synthetic, but true. You don't need the internet to have written the code if you can prove the code works.
When that lands, the gap closes and this whole post turns into a footnote.
I'm oddly fine with that.
I'd rather the platform I love stay restless and hard to model than slow down enough for a machine to memorize it.
Catch up to us.