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!
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.
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.
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.
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.
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.
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.