The performance is terrible. I don’t need to prove that point since it’s already all over the internet.
The paradigm also makes it very hard to design APIs that construct sophisticated and dynamic layouts, at least for me.
Apple says SwiftUI is the future, but I’m not so sure. And even if it is, I’m not convinced that future will be bright.
There was a point where I would recommend SwiftUI for new developers, but that feels hollow when I certainly wouldn't recommend it to myself if I were a new developer.
You are trading user experience for (supposed) developer experience upfront, and it's incredibly difficult to claw that back later.
If you want to build excellent platform-quality apps, your starting point shouldn't ever be SwiftUI. It's a tool in your toolbox, not *the* tool for everything
Timeless article by @davedelong . Incredible!
https://davedelong.com/blog/2018/07/25/conditional-compilation-in-swift-part-1/
When developing an app or a library, it’s pretty common that at least once in the course of development, you’ll need to conditionalize compilation of your code. Maybe you’ll be accounting for a bug in the operating system where things that don’t work quite the same on your device as they do on the simulator. Or perhaps you’ll want to simply exclude code from your simulator builds because the simulator simply doesn’t have that functionality (like invoking the camera).
My talk from Swift Heroes 2024 has just been published. If you're interested in Noncopyable types, type-level programming, and State Machines, go check it out.
I had a lot of fun researching the feasibility of Typestate programming in #swiftlang, and I'm happy with how this talk turned out.