Hacker News new | past | comments | ask | show | jobs | submit login

Interesting take, but SwiftUI and Combine are really bad. They claim ‘functional programming’, but there’s so much (leaky) magic involved. The sub par automatic code generation yields slow and laggy experiences. I don’t think Apple has any plan to improve this beyond ironing out obvious bugs and waiting for natural performance yields to kick in.

It is bad enough that it reminds me of Carbon and the related legion of missteps that hurt Apple badly some 20 years ago and pissed off a lot of loyal developers.

Honestly, SwiftUI combined with Apples now complete market dominance is enough to make me reconsider my career path.

Just because they’re so big doesn’t mean they can do no wrong and several of their recent technologies have been regressive.




I am curious why you have such a low opinion of SwiftUI, most third party developers I have heard from are eager to drop Storyboards and switch immediately.

The magic involved is not really magic at all, just Swift syntax sugar. Nothing about SwiftUI is proprietary, you can make your own SwiftUI variant by copy and pasting its code. It's just another library after all. Granted, some Swift features do seem like they were explicitly granted to make SwiftUI prettier, but it's not like you can't use those features in your own code or libraries too.


It’s not just syntax sugar. There is a lot of compile time code generation running behind the scenes.

It also means there’s a lot of hidden determinism where there didn’t used to be.

Storyboards were rubbish, I agree, but SwiftUI is more fundamental. Apple is abandoning the PostScript model which permeates every graphical computing paradigm (WinForms, GTK, Qt etc.), and if you don’t like programming with cotton gloves on, you’re basically not welcome.

All very much a shame from my point of view, because UIKit is easily the most powerful UI toolkit around. It’ll be interesting to see how long third parties will continue to be able link against it directly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: