Issue 60
Apr 27, 2021

WWDC 2021, what to expect?

This week, I proposed three questions that I could answer and, with a close finish, I'm going to answer today:

What are my predictions for WWDC 2021

Let's start by pointing out these are mostly wishes combined with hope and certain 'almost sure' expectations. I don't have insights you don't have; it's all based on my experience as a Swift developer after monitoring the community.

1. Async/Await - Super likely
I would be surprised if we wouldn't get many Swift WWDC sessions around async/await. It's a new way of writing asynchronous code, which we've been waiting for a few years. As it's already marked as implemented in Swift 5.5, it's very likely to arrive.

2. Swift 5.5 - Likely
I want to point out that I don't expect Swift 6.0, but Swift 5.5. The above link proves this kind of by stating, "Implemented in Swift 5.5.". Check out the Swift 5.5 Release Process to read more. It's only 6 weeks, though, so I'm not 100% sure whether it will arrive. However, Xcode often becomes GM in September, which would mean Swift has a few more months to become stable while already becoming available.

3. Improved Swift Package Manager support - Very likely
I'm pretty sure we'll see further improvements in integrated SPM support. Opening packages directly is the way to go as of today, but often comes with unexpected behavior like file headers that aren't pre-filled and code coverage not being reported on Apple Silicon Macs.

4. Swift based Project Settings - Not so likely
Something I'm hoping for! Swift Packages already generate projects 'under the hood', so there's already kind of a mechanism in place. Especially once we can define Extensible Build Tools, it becomes even more interesting. I don't see this as very likely to happen, but it would be super nice to say goodbye to those project file merge conflicts.

5. Swift Data replacing Core Data - Not so likely
My last hope is for a Core Data replacement. I've been writing many Core Data articles, and I like the framework a lot, but it's time to have a Swift replacement that is more optimized for today's projects.

----

That's it for my predictions. Hopefully, they will all come true, but I expect only a few of them to really arrive. Only a few weeks left before we know!

Enjoy this week's SwiftLee Weekly! 

THIS WEEK'S BLOG POST

Creating extensions to make it easier to write unit tests can make you much more productive when writing unit tests. Your main app code is important, but improving unit tests for readability is important as well. By making use of closure based predicates in combination with an escaping @autoclosure we can create an expectation which we can use in unit tests.

TWEET OF THE WEEK

COVID has changed our industry in which many companies started to hire remotely. It changes the two-sided marketplace in which you suddenly might have a lot more competition, while you also have more opportunities at your disposal. I really liked how Gergely Orosz explained this change on Twitter.

SPONSORED

This free, 200-page book will help you overcome 39 of the most commonly faced challenges when building large iOS apps. Written by a former Uber mobile engineer: Grab your copy now.

CURATED FROM THE COMMUNITY

CODE

With Xcode 12.5 becoming GM (or RC as they call it now), it’s time to look into new features of Swift 5.4. New features like multiple variadic parameters might be known, but there are many more Swift improvements in this release. I especially enjoy the SPM performance improvements!
I find concurrency when programming in Swift one of the hardest things to do right. I often run into EXC_BAD_ACCESS errors, and I don’t often know how to solve them. It makes me super excited to see this proposal introducing Actors to be accepted.
One of the SwiftLee Supporters open-sourced a new package this week, making it easier for you to understand the implications of your app's design on users with various types of color blindness.

NEWS

You might be required to include the AppTrackingTransparency framework in your apps as of this week. Many companies started complaining this week as they’re likely to lose a lot of income from advertisements. In my opinion, it’s the income they should’ve never had either way, but it’s an understandable response. Even more painful to see that the toggle for the user sometimes becomes disabled.
If you didn’t update to macOS 11.3 yet, it’s time to do so now. Objective-See explains how many core Apple security mechanisms are bypassed, giving Mac users a grave risk.

EVENTS

Mark your calendars: On May 1st, Chris Lattner is invited by the UnderDog Devs for an Ask Me Anything session. The creator of the Swift Programming Language will definitely have a lot of interesting answers to share with us.

WORKFLOW

This is super nice for open-source projects containing a readme. Jordan Morgan explains how you can deeplink into specific parts of the code, making it easier to reference specific parts of your projects.
A friendly reminder from Felix Krause to checkout Fastlane Precheck, the tool that helps you prevent common app rejections.