Notes From Swift Heroes Digital 2021
Swift Heroes went digital because of the Covid pandemic restricting public gatherings. I am not the best at socializing during conferences and watching online talks from my comfy chair is a format that I somewhat shamefully enjoyed. Here are my notes from the talks I have watched.
Talks with 🌟 are the talks I recommend the most.
Let’s Make That Label With Core Text - Marcin Krzyzanowski 🌟
Marcin is working on his Swift Studio project, a Swift IDE for which he had to dig down deep into the Core Text framework. I enjoyed this talk following my own errands on text layout customization and I intend to use the content of his talk to address another use case: how to balance the lengths of broken lines of text, to avoid a situation where the last line can be much shorter than its siblings.
Future of Swift: A Sneak Peek at async/await
- Vincent Pradeilles 🌟
Vincent presented the async/await
proposal that will be part of Swift
5.5. On the way, he explained how to install the development snapshots of Swift
in Xcode, insisted that async/await
would not be competing with Combine and
mentioned exciting upcoming features for Swift concurrency.
Using Core Data in a Modern SwiftUI Application - Donny Wals 🌟
Until 2017, I was using Core Data on a daily basis. But since, I have not used
it at all. I had the feeling it was becoming a dying technology but this talk
convinced me it was still very relevant since Donny makes the case it integrates
really well with SwiftUI since NSManagedObject
conforms to ObservableObject
.
Donny wrote a book about it, Practical Core Data that digs further on
the topic.
Evolving Existing Projects With SwiftUI - Peter Steinberger
This felt like a natural follow-up to Peter’s talk at FrenchKit 2019 about shipping a Catalyst app. He offered feedback on integrating small doses of SwiftUI in a large codebase with a long history that is a mix of Objective-C and Swift.
Here is what I’ll take away from the talk:
- SwiftUI is unstable and change dramatically at each version;
- Previews can time out being de facto unreliable;
GeometryReader
should be used as high in the hierarchy as possible;- There are straightforward workarounds to SwiftUI limitations — via custom view modifiers for instance — but they should be considered as hacks with the risks it implies in terms of maintenance;
- Mentioned projects were:
- SwiftUI-Introspect: helps to introspect underlying UIKit components from SwiftUI;
- SwiftUIX: a project that attempts to fill the gaps that SwiftUI suffers from when compared to UIKit or AppKit.
Combining SwiftUI and UIKit: AppClips and Widgets - Anna Zharkova
Widgets and AppClips are additions to iOS that come with significant restrictions compared to what you can achieve in an app. Anna presented workarounds against the lack of dynamism that she met while developing widgets and app clips using bike ride maps as an example.
My main takeaway is that, since neither the keychain or local authentication can be used in these app-derivatives, then if any of the data you would like to present require authentication, you are out of luck.
Creating Machine Learning Models With Create ML - Moritz Philip Recke, Tiago Gomes Pereira & Giovanni Monaco
This talk was presenting how to create machine learning models with convenience using IBM’s Cloud Annotations tool to create training and testing data sets, and feeding these into the macOS Create ML app. It did sound accessible and I intend to give it a try one day.
Mocka: A Mock Server for Developers by Developers - Fabrizio Brancati & Firas Safa
Mocka is an open-source server to mock backend API responses to test backend edge cases with convenience. The project is promising and I will keep an eye on it but it is still a young product with many missing features so I am not sure I will start using it today.
How to Think Like a SwiftUI View Modifier - Josh Holtz
Josh presented some view modifiers he programmed and the struggles and pitfalls he met on the way. A good time saver for people starting learning SwiftUI.
Full Stack Swift Development - Kilo Loco
Kilo is a developer advocate for AWS and gave a fair overview of technologies to use Swift on the backend, even though he obviously highlighted AWS Amplify. It felt like investing on AWS technologies could result in a lock-in so I was not convinced I would invest in this direction for hobby projects.