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.
WWDC
WWDC 2019
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.
nshipster.com
Swift
The Swift 5.1 Features That Power SwiftUI
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.
swiftbysundell.com
Dynamic Member Lookup Combined with Key Paths in Swift
Dynamic member lookup was introduced a while back in Swift 4.2 to help improve the interoperability between Swift and more dynamic languages such as Python, Javascript and Ruby. Swift 5.1 builds on this foundation with the addition of new keypath support – the subject of this weeks article from @twannl.
avanderlee.com
Sponsored Link
Forget Slow iOS Builds
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.
semaphoreci.com
Code
iOS 13: Notable UIKit Additions
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.
swiftjectivec.com
How to Adopt Dark Mode In Your App
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.
fivestars.blog
Incorporating SwiftUI Principles Into All Your Code
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.
seashore.io
Getting Started with Diffable Data Sources for UICollectionView
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.
kairadiagne.com
What’s New in Core ML 3
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.
fritz.ai
Libraries
RxCombine
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.
github.com
Videos
ARKit 3 Tutorial: Create Your own 3D Worlds with Reality Composer & RealityKit
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.
youtube.com
UIKonf 2019
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!
youtube.com
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!