Thoughts after a few years away from Swift

It’s been a couple of years since I wrote Swift code at a significant level. My previous company asked me to learn React Native and while it was a good learning experience and worked out reasonably well for the company, it pulled me away from the core competency I’d grown my career around and enjoyed so much. Working in native iOS again has been super exciting. It feels like a lot’s changed in 3 short years, and I wanted to highlight some of my impressions getting back into the ecosystem.

First off… Xcode, I missed you you beautiful bombshell you. With all your quirks you’re a powerful tool that saves developers A LOT of time once you learn all the gotchas.

Standing out so far…

  • UIDiffableDataSource

  • Section enums with CaseIterable

  • UISheetPresentationController

  • Using DispatchGroup again

To put it simple, all 4 of these save you time. And code. And money… I guess.. by extension? Section enums with CaseIterable are intuitive and probably should’ve been there a while ago. Much cleaner. UISheetPresentationController is awesome. Who says Apple doesn’t take design cues from the crowds? Okay, actually they definitely do that, that’s kind of the whole idea behind “sherlocking,” but I digress. Basically the design pattern around a bottom-anchored drawer became so commonplace that Apple started building it into their own apps. See Find My for example. The sheet has multiple modes: full-screen, medium (pinned to about 40% of the screen height), and collapsed. It’s such a great pattern for user interaction that puts the control in the hands of the user. I’m happy to see they’ve added it to the core library. My one feature request for it is that they add a mode for bottom bar, similar to Apple Music or Spotify, etc., where the content minimizes to a bar along the bottom of the screen (that sits about the tab bar, if there is one). That would be super powerful and super handy.

More thoughts soon…