SwiftUI: Does it [Still] Suck?

SwiftUI: Does it [Still] Suck?
SwiftUI: Your scientists were so preoccupied with whether or not they could...they didn't stop to think if they should.

I used HyperCard in the late-80s and early-90s to make some fun applications and animations. It still amazes me that Myst was implemented in HyperCard. As kids, we did more with HyperCard than I've ever seen kids doing these days.

HyperCard: A masterful environment for learning application programming.

I used Gtk with Perl to craft some simple visual programs. Then there was Java, which was my first foray into UI toolkits that tried to be "write once, run anywhere". I learned how this will never be a thing. Never. Apple bought NeXT and I started learning Objective-C and Cocoa (was it called Cocoa back then? I think it was. I stayed away from Carbon.). In 2008, as a Cocoa developer, I got a gig doing iPhoneOS development with UIKit.

Finally, most recently, Apple released SwiftUI. What a paradigm shift. Early versions strongly sucked. I had dabbled in SwiftUI as the opportunity presented itself, but very recently I started a from-scratch app with SwiftUI (and Swift 6). Some of the learning curve I'm dealing with is the data concurrency changes in Swift 6, and not just SwiftUI.

Where I struggle is memorizing the APIs. I can't tell if UIKit is perhaps just more accessible from an API standpoint, or if my familiarity with the UIKit clouds my perspective. Whatever the case, figuring out how to change the text color, for instance, is never as obvious as I expect it to be.

Additionally, SwiftUI feels a lot like it exists because it can, not necessarily because it should. Swift gave them language flexibility that didn't exist before, opened some doors, and here we are.

SwiftUI: Your scientists were so preoccupied with whether or not they could...they didn't stop to think if they should.

It is 100% true that with SwiftUI far less code is required to implement common user interfaces; no argument about that. However, I have not even begun to seriously consider any of the complex, custom user interfaces I've made with UIKit over the years, and how I would possibly approach that with SwiftUI. But maybe it is true that there's more value in improving conditions for 99%, while sacrificing the 1%. My concern, however unwarranted, is that this will further homogenize apps. Why not just distribute three Apple-approved app templates, and we can just swap out the name and fill in some blanks?

Rollercoaster Tycoon, written entirely in assembly by this gentleman.SwiftSwe
Start of a SwiftUI / Swift 6 iOS app.

Subscribe to A garage sale for your mind

Don’t miss out on the latest posts. Sign up now to get access to the library of members-only posts.
[email protected]
Subscribe