Sponsored Link
Your favorite apps are shipped with Runway
Top mobile teams are using Runway to offload manual busywork and get back to building great apps. From kickoff, to submission, to release, Runway enables effortless coordination and collaboration across your teams and tools. Get started for free today!
News
Announcing the Swift Language Workgroup
Who had “big changes to how the Swift language is managed” on their post-conference bingo card? 🤷♂️
Previously, the Swift language was largely guided by the core team and evolution process. This announcement adds a new Language Workgroup that will take primary responsibility for overseeing language development, letting the core team focus on oversight and direction of the language. Some people are switching from the core team to the language workgroup, and there are several new (and well-deserved) additions to both teams! I can’t summarise everything here, so please read the post!
App transfer and iCloud
Is this the shortest announcement for the change with the most significant impact since app transfers became possible? I’ve heard speculation about why this rule existed over the years, from being privacy-related to being a technical challenge. We’ll never know what it was, but I’m glad it’s now possible! 🚀
Tools
Swift Package Plugins and Xcode 14
I wasn't expecting Apple to turn around and pick up where source editor extensions in Xcode 8 left off, but in a roundabout way, package plugins mean they have! You can run a plugin through Xcode in a Package.swift-based project, of course, but did you know that you could also run it on an Xcode project with a little tweak? Marco Eidinger explains.
Haptics Studio
I’m linking to this app from Daniel Ramteke for several reasons. First, it’s an excellent (and free) way to play with the various haptic parameters to get precisely the desired effect. Secondly, Daniel streamed the entire development of this app on his Twitch channel and uploaded all 13 session recordings to YouTube.
Code
SwiftUI Digital Lounge archive
The digital lounges were great again this year, but they are temporary. I understand that this format is still relatively new to Apple. Still, I wish there was a better way to preserve the valuable knowledge from those lounges without someone having to copy and paste every … single … question … and … answer. 😅 Please send Bardi Golriz your thanks for taking the time to archive and categorise the SwiftUI lounge questions and answers.
NavigationBackport
It happens every year, regular as clockwork. A new API that requires the latest operating systems arrives, and someone puts together a backport for older operating system versions so everyone can use it. This package from John Patrick Morgan isn’t finished, and I’m sure John would agree with me that if you use a backport like this, extensive testing on older operating system versions becomes critical, but it’s worth checking out.
While we’re on the subject, you might also want to check out John’s previous navigation package for SwiftUI, FlowStacks. 🥞
Use SwiftUI views as points in scatter plot
Matthaus Woolard has been doing a great job writing about the new Swift Charts framework. I loved this post on using arbitrary views instead of plain old dots, but he also wrote a great introduction to the framework and described how to create a Ridgeline plot.
Understanding the some keyword and generic protocols
This post from Natascha Fadeeva is the clearest, most concise explanation of generic protocols and the new some
keyword that you'll find. 🚀
Videos
The Layout Protocol
A new layout system in SwiftUI? I’d be curious to hear what Chris Eidhof and Florian Kugler have to say about that! What’s that? There’s a free 20-minute video on the topic available on their Swift Talk site? That’s handy! 🥰
And finally...
Have you seen the leaked slide from WWDC '23 that shows off the next Apple silicon chip? 😂
Comment
I’ve lost count of how many times I’ve seen someone ask, “What should I use, SwiftUI or UIKit” or read a blog post titled “Is SwiftUI ready for production?” over the last few years. To be clear, I intend no criticism to anyone who asks those questions. It’s perfectly natural to want an answer!
Humans love to look for absolutes. We want to know that X is better than Y, so we don’t need to spend more time thinking about the subject again. We know that X is better. We can move on. It’s very pleasing to us.
Even though Apple’s message was clearer than ever this year, I still feel like you could replace that “is” at the start of the second line with “will be” or “might be”, though. 😅 Again, I don’t want to criticise this slide. It’s good to have a crystal clear message like this in a high-level session like the SotU.
So when I was reading Becky Hansmeyer’s recap of WWDC this week, the quote from Taylor Kelly that she pulled from the SwiftUI digital lounge was so refreshing to read:
First of all, what a lovely, genuine, honest answer. It’s not written for the press, and while I’m sure Taylor knew that what he wrote there was effectively public, I’m sure he’ll be surprised to see Becky quote it and me repeat it.
It’s worth repeating, though, because it concisely sums up not only the situation with SwiftUI but the situation with any tech both now and in the future. I’ve repeatedly written my thoughts on “purity” in technology, which is closely related.
I’m not waiting or even hoping for a “clean slate” where the answer is as simple as the SotU slide makes it seem, and I’m happier for it.
Dave Verwer