Swift Developments is a hand-curated newsletter containing a weekly selection of the best links, videos, tools and tutorials for people interested in designing and developing their own apps using Swift.
Here it is! Swift Developments Issue 188. I’ve had another fun week this week getting to grips with some of the new frameworks, especially SwiftUI, and have also been slowly working my way through some of the WWDC session videos.
With regards to SwiftUI itself, it’s fair to say that there are still some rough edges in places but overall it’s been a positive experience so far, the team at Apple have done a really great job with it and it still blows my mind how little code you need to write to produce something pretty functional.
In other news this week I’m really happy to say that I have a new sponsor for this weeks issue! Semaphore CI has just released a new, super-fast, CI/CD product specifically focused on iOS developers so if you’re looking to set up (or even migrate) your CI/CD infrastructure, then make sure you check them out!
Ok. That’s it for now. As ever, enjoy this week’s articles, keep experimenting, and have a great week!
Let’s kick off this week with this WWDC round-up from @mattt. It doesn’t so much look at the technical details of all of Apple’s announcements, but more places them into the wider context of the Apple ecosystem. It’s an interesting read and includes some extremely important advice toward the end of the article that I’m definitely trying to keep in mind.
If you’ve spent any time playing with SwiftUI, you’ll no doubt appreciate the clean succinct syntax that Apple’s new UI framework provides but this wouldn’t be possible without relying heavily on some key features within the Swift language. @johnsundell has been taking a look at the four key Swift language features that make SwiftUI’s syntax possible.
Semaphore is now the fastest way to test and deploy iOS apps. Powerful CI/CD pipelines run up to 42% faster than Travis CI and auto-scales on every git push. You pay only for what you use. Sign up for free with your GitHub account and give it a try today.
Although SwiftUI is obviously the new kid on the block UIKit is definitely the incumbent and this year has received a number of major improvements including compositional layouts, scenes (in support of iPadOS) and more. jordanmorgan10 has been digging into many of the new changes and has written up a useful summary.
One of the headline features this year has been the introduction of Dark Mode in iOS 13. Having finished adopting the new UI appearance in his own app, @zntfdr has written up an article that brings together a bunch of tips, tricks and advice to keep in mind if / when you decide to add dark mode support to your own apps.
It will be some time before SwiftUI becomes mainstream but as @eddiesullivan points out in this article, many of the ideas of SwiftUI, especially the architectural considerations highlighted in Apple’s extremely illuminating Data Flow Through SwiftUI Session (I’d definitely watch this one if you haven’t), can be extracted and applied to your code right now.
Rejoice! Diffable data sources are here! I think I’ve said before, but this is one of my favourite new features in UIKit this year due to the fact that it will eliminate a whole bunch of diffing and update code that is both tricky to get right and typically something I mess up first time around. In this article, @kairadiagne shows you how to get started with this great new feature.
Core ML has been a big focus for Apple over the last few years and over that time we’ve seen a steady growth in features along with growing support for interoperability with other tools within the wider ML community. This year is no exception, with some great new features including on-device training 😍 and support for over 100 new layer types. @jamesonthecrow has been looking at all the new features.
With the introduction of Apple’s new Combine framework, you might be wondering what the transition path might look like if you’re already using RxSwift. Although it’s pretty experimental at this point, @freak4pc already started work on RxCombine a new framework that provides bi-directional type bridging between RxSwift and Apple’s Combine framework.
Another new addition this year has been the arrival of RealityKit and Reality Composer, a new framework and tool specifically focused on simplifying the process of generating content for your AR experiences. @brianadventcode has been taking a look.
Although I suspect that your video viewing list is probably as long as mine at the moment, if you’re looking for a change from WWDC session videos, then why not check out this crop of videos from UIKonf 2019. Unsurprisingly there were some great talks from this year’s all-female line up covering everything from accessibility and app marketing to internationalization and gesture recognizers. The most difficult bit is going to be deciding on what to watch first!