Sponsored Link
Build SwiftUI Interfaces Visually
Let’s face it, SwiftUI previews are limited, slow and painful. Judo takes a different approach to building visually—think Interface Builder for SwiftUI. Build your interface in a completely visual canvas, then drag and drop into your Xcode project and wire up button clicks to custom code. Fast-track the grunt work and focus on the hard stuff.
News
Peer group benchmarks in App Analytics
Apple is adding some new data to App Store Connect analytics, which has to be something to celebrate! I’ve not checked out the actual data yet, so it may be obvious when you look at it, but I couldn’t see anything in this news post or the documentation about how it picks your group of peer apps. There’s information on how private it is, but what criteria identify the peers? Is it price? Category? The number of downloads? It’s likely a combination of all those and more, but I’d love more detail.
Tools
Test Plans in Xcode 14.3
Has it really been more than three years since Apple introduced Test Plans in Xcode 11? 😳 Mark Thormann noticed that they’re now default in the latest Xcode beta and suggests this article as the best place to learn more if you’ve not yet switched to using them. 🚀
Code
Developer guide on passkeys for iOS
I recently played with passkeys and must admit I was completely convinced after seeing them in action. I recommend this demonstration site if you’ve not seen them in use yet. In this article, Natascha Fadeeva takes us through how to use them inside an iOS app. 🚀
SwiftUI views versus modifiers
John Sundell asks:
So at this point, we might really start to ask ourselves — what exactly is the difference between defining a piece of UI as a view versus a modifier? Is there really any practical differences at all, besides code style and structure?
It’s a great question and a great post explaining John’s take on the answer.
The difference between List and LazyVStack
The best thing about a framework like SwiftUI is that you don’t need to worry about what underlying rendering technique or control is used behind the scenes, and the worst thing about a framework like SwiftUI is that you don’t get to control what rendering technique or control is used behind the scenes? What am I talking about? I’ll let Thomas Ricouard explain.
Mastering accessibility in Swift Charts
There are plenty of blog posts about Swift Charts since it debuted last summer, but very few talk about its accessibility features. Majid Jabrayilov finished his seven-part series (1, 2, 3, 4, 5, 6, and 7) on Charts this week by taking a look at making every part of your chart accessible, including the data via an audio graph. 👍
Jobs
Tech Lead @ Learn Chess with Dr. Wolf / Chess.com – Millions of students have learned chess from the kind and patient Dr. Wolf. “Learn Chess with Dr. Wolf” started as an indie labor of love. With your creativity, dedication and attention, we can bring the joy of chess and learning to many more people. – Remote (within US or European timezones)
Is your company hiring? You can post your open positions for free over at iOS Dev Jobs.
And finally...
There may be a few subscribers who, like me, worked on a VT220 terminal at one time. What if you could bring back those feelings in Xcode?
Comment
Sophia Teutschler has been open-sourcing her old apps (Tipulator, CoverSutra, and Groceries) recently, and as I browsed through the repositories, it set me thinking about this Bill Gates quote:
None of Sophia’s apps is exactly ten years old, but they’re certainly of that era¹, and it struck me how much things have changed as I browsed the repositories.
The first thing that struck me as I opened CoverSutra was that all of the source files were in the project root before I remembered that Xcode’s default was to do all project organisation with groups instead of folders. 😍
But the differences go so much deeper. Neither the language nor UI framework that I’d use today to start an app existed ten years ago. 😳 The distance travelled over the past ten years is striking.
Then, it’s been more than a year since Apple shipped async/await support in Swift. You may have looked at those APIs that came with Swift 5.5 and thought, “I’ll have my whole codebase converted in a year for sure”, but I’m confident that plenty of you still have operation queues, GCD, and other technologies in use.
It feels like lots of software technology is on the edge of changing the world in major ways. All of the different AI products are exploding, and of course, don’t forget that every year is the year Apple will introduce an AR/VR product! I’d urge you not to bear Bill’s words in your mind, though, and consider where those technologies will be in ten years rather than one. 🤯
¹ To be 100% crystal clear, I don’t say this to criticise Sophia’s work at all. Her apps were Apple Design Award winners and the envy of the entire Objective-C community. This is about how the ecosystem has evolved.
Dave Verwer