Once-a-year Black Friday deals are coming. Read more.
Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Issue 69
Jun 29, 2021

An overload of new concurrency changes to get through. That's the result of this year's WWDC.

Sometimes, it feels like WWDC only brought a few things. Xcode Cloud, SwiftUI updates, concurrency changes. Nothing big like Catalyst or SwiftUI when it was first announced. Yet, looking at the number of concurrency sessions we need to watch, it's a lot to learn.

Just like you, I need to learn these changes too. Normally, I would apply new APIs in my projects to best learn how they work. However, with iOS 15 being a minimum requirement, it's not as easy as it would've been if we could use them throughout our existing projects. 

My approach to this is to take it to step by step. Over the past week, I've watched several sessions related to Actors, read up on the proposals, and scrolled through the documentation available online. By focussing on one part of the concurrency changes simultaneously, I've allowed myself to really get to know new features thoroughly.

Obviously, my way of learning is writing it down in an article. This helps both you and me as it results in a personal knowledge base I can revisit once needed. This week's article, therefore, covers Actors!

If you feel overwhelmed with all changes in Swift, take it easy! Many bloggers in our community will help you with focussed articles that should make it easier to learn about the new changes over time. By the time you're able to use the new techniques in your day-to-day job, I'm convinced you'll get up to speed soon enough.

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

WWDC this year introduced a lot of improvements to concurrency in Swift. I took a few weeks to dive into these changes and started writing my first article this week covering Actors. Data Races should be history if using Actors correctly. This is a great addition to the Swift API, especially as the Swift compiler can statically enforce synchronized access to data.

TWEET OF THE WEEK

A great tip by Majid Jabrayilov explaining how we can use UI Tests to verify scrolling performance using XCTMeasureOptions.

SPONSORED

With a few lines of code, RevenueCat provides in-app purchase infrastructure and analytics without the hassle of managing your own servers. Try it for free.

CURATED FROM THE COMMUNITY

CODE

Some of you might have adopted Combine in many places since it was introduced in iOS 13. However, now that the new concurrency changes arrived, you might find this article by John Sundell become useful to integrate async methods in your Combine pipeline nicely using a custom extension.
A new beta of Xcode comes with a changelog, but that doesn’t always tell what’s new. This article by Five Stars Blog does a better job and covers search dismissing, mini control size, and text selection.
Many articles arrived covering the changes that arrived in SwiftUI during this WWDC, but this one I especially liked because of its attached visuals and code examples. If you want to try out the new features, this article by Rudrank Riyam is a great starting point.
WWDC does not only bring new SwiftUI APIs; it also adjusts existing ones based on learnings. Five Stars Blog explains how many APIs are structured differently to improve the readability of our SwiftUI code.
While reading this article, I realized it could be something that already makes total sense to me but might be something you are completely unaware of. Using #if DEBUG in library code is not always working as expected, Arek Holko explains why.
Unfortunately, I haven’t been able to play around with DocC yet, but articles like this one from Keith Harrison make me more excited to jump on it soon enough.

BUSINESS

My buddy Niels Mouthaan wrote this article after getting some bad responses on Reddit after self-promoting one of his apps. Subscriptions aren’t always well received but do make sense from a developer's perspective. Unfortunately, writing new features takes time, and one-time payments don’t always make up for that.

SWIFTLEE JOBS

At Air apps, our mission is to combine the simplicity and greatness of Apple products by creating utility and productivity apps that make people’s lives easier. Our apps are created...
We are looking for pragmatic, proactive senior iOS developers based in the US (for legal reasons) who love writing clean and high-quality code in Swift/Objective-C and are comfortable using UIKit,...

THANK YOU

Thanks for being a SwiftLee subscriber! 
Continue your journey: