Issue 51
Apr 22, 2021

Async/await: what will its impact be on Swift development? How can it be compared to Combine, and will Combine be easier to reason about for new developers or not?

It was all part of the discussion I've had earlier this week. Swift development's future is an interesting topic to discuss and leads you to topics like async/await and adopting SwiftUI.

In less than 4 months, we will know whether or not async/await is released in Swift 6. Remember we expected "Marzipan" to be announced while we only got an announcement in the end?

It's an interesting question: will async/await be fully tested and ready to be released at WWDC 2021? It's good to realize it would come with the beta of Xcode 13 and would only become final with the GM arriving in September. It gives just that extra time to increase our hope to write async code without closures everywhere later this year.

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Lazy Collections might be a bit unknown in the community but can be a valuable tool to optimize your code's performance. It's important to know their implications to decide when it's the right decision for your case as other standard Swift APIs might be more suitable. I'll explain to you all the details in this week's blog post.

SPONSORED

Although you can create an app simply by throwing some code together, without best practices and a robust architecture, you’ll soon end up with unmanageable spaghetti code. Learn how to create solid and maintainable apps with fewer bugs using this free guide.

ROCKETSIM

Not long ago, I spoke about being Sherlocked by Apple. I decided to take this as an opportunity to step up my game and work towards RocketSim 4.0.

It will contain support for touches in recordings and a new comparison tool with direct support for Figma and Sketch. Just click that link and follow the account on Twitter to be the first to know about its official release!

TWEET OF THE WEEK

I was super impressed by this video from Franck. Reading design, setting up design in Figma, and building it in SwiftUI: he can do it all! Super inspirational and worth a watch.

CURATED FROM THE COMMUNITY

CODE

Although I’m not sure yet whether I’ll use this in my test classes, I did get inspired by this solution from Paulio87. Using the teardown block in such a way is smart and can save you from forgetting to clean up your test variables. Neet!
I was aware that Phantom types exist in Swift but I wasn’t aware they were called Phantom types. Does that mean phantom types were phantom types to me? Well, either way, Majid Jabrayilov helps us understand what they are and how you can benefit from writing your own.
I’m thanking Tyler Fox here for sharing this API update found in the beta of 14.5. It allows us to configure the UICollectionView list separator appearances in detail, more than we could do with UITableView.

OPTIMIZATION

Although it’s focused on iOS, I will use this soon enough on Big Sur to see if it works the same for macOS apps. Raywenderlich.Com does a great job explaining how you can perform StoreKit testing in Xcode 12.

INSPIRATION

I haven’t linked to Indie Dev Monday before as far as I can remember, so I’d like to take this opportunity to invite you to read this week’s issue and subscribe if you’ve enjoyed reading it. Every Monday, another Indie dev is put under a Spotlight to inspire you!

NEWS

Holly Borla and Kristina Fox curated a handful of outstanding contributions from the Black Swift community. Let’s celebrate their impact on the Swift ecosystem together by reading this post and find out about related hands-on tutorials, books, and podcasts.