SwiftUI is still in beta, but has commanded the mindset of Apple platform developers since it landed at WWDC 2019. It’s a fun new paradigm for iOS and macOS developers, and we’ve discovered the best cheat sheet for the upstart framework.
(Fair warning: This post will contain a good bit of profanity. Not because we want to, but because the name of this cheat sheet is “Fucking SwiftUI,” and hey… we have to reference it by name. It’s more awkward not to!)
The curiously named “Fucking SwiftUI” (its creator claims the name is taken from fuckingblocksyntax.com) is meant to be a “curated list of questions and answers about SwiftUI.” That’s putting it mildly: The site is actually a very in-depth look at SwiftUI, especially for existing iOS and macOS developers.
The most useful section of Fucking SwiftUI is a comparison of components between UIKit and SwiftUI. For developers who know exactly what they need in UIKit, it’s a handy reference guide.
Some of what’s listed may make you feel silly, though. For instance, <code>UIAlertController</code> in UIKit is <code>Alert</code> in SwiftUI; <code>UINavigationController</code> is <code>NavigationView</code>.
<code>UIPickerView</code>? Yeah, that’s <code>Picker</code>. You get the point. Lots of ‘duh’ moments.
Further down the page you’ll find sections on how to actually code things. There’s a section on views and controls, which walks you through things such as text, text styling, and formatting. Further down the page, you’ll find sections on view layouts and presentations, which get into the famed SwiftUI ‘stacks’ that make coding things such as to-do lists so easy, now.
The bottom of the page has a handy list of references and resources, and points directly to WWDC sessions on SwiftUI as well as official Apple tutorials and documentation.
Is Fucking SwiftUI the most in-depth site about the new framework we’ve seen? Outside of Apple’s official documentation (which deserves a special call-out for being so good this time around), it is. We still encourage pragmatism with SwiftUI, because it’s new, and reminds us all what ‘beta’ actually means, but it promises to change a lot about how we write apps in the future.