Previous editions: 2019 · 2018 · 2017

🌟 The talks I recommend

I will update this post with video links as soon as they are available.

any Idea How to Use some Generics? — Antoine van der Lee

Dive into the difference between some vs any and how they can replace older forms of expressing constraints on generics.

Note the choice of case in the title. 🤣

Building Custom Property Wrappers for SwiftUI (and how to test them) — Donny Wals

Implements a fetching data property wrapper for SwiftUI.

Donny is quite interesting because, year after year, he focuses on predicting what Apple plans for the future as opposed to investing in 3rd-party libraries or frameworks.

For instance, he seems genuinely convinced that, for Apple people, data fetchers belong to views — following Apple’s own APIs — and that Combine and Core Data are just as relevant in 2022 as they always were.

Masterclass: Hacking iOS Apps - and trying to prevent it — Elliot Schrock

This talk provided a lot of valuable insights. Using a jailbroken iPhone, Elliot went backwards from the demo to the theory of hacking, highlighting how to control the app from the CLI. Elliot also mentioned this funny analogy about security:

🏃 🐻 If you’re being chased by a bear, you must run faster than the slowest guy.

Tools mentioned:

Swift Quiz — Vincent Pradeilles

Three questions:

  1. ✅ Retaining cycles. I got this one right.
  2. ❌ Mutating function on a struct with a let property. You can reassign self. I got it wrong.
  3. ❌ Empty enums. Does the Swift compiler accept a function that has a signature that returns something but actually has an empty body, when the argument is an empty enum (which cannot be instantiated)? It does. I got it wrong too. But it explains why the signature of fatalError is Never.

🔥 Hot Takes

I am so bad at socializing during conferences. My interactions with other human beings at FrenchKit consisted primarily of asking questions during Q&A sessions, but it was hard for me to go beyond that. I tried to attend an event on the Thursday evening. But a bar packed with 200 people, 95% of which are nerdy dorks like myself — now quite younger — is not an environment I can thrive in. I am taller and deafer than the average person so that would translate into me bending over groups of people, pretending I can hear what is being said. Not quite fun.

Next time, I will try to attend NSSpain. It was the last edition of FrenchKit per say. The hosts are willing to expand to other technologies — which will be appreciated after the dot conferences disappeared after being bought by Welcome to the Jungle.

I will build next features at work for iOS 14 users. Today, we support iOS 12. Looking at iosref’s iOS version by device table, I realized that bumping straight to iOS 14 will leave aside some devices stuck with iOS 12. But no device is stuck with iOS 13 — or iOS 14 for that matter. So, at the end of the day, iOS 14 sounds like a sweet spot to be able to benefit both from async/await and a decent version of SwiftUI.

I should give things a second chance. I’m talking about you jailbreaking phones — to put myself in hackers shoes — and UI testing.

🪣 The rest of my notes

Here I share raw notes from the other talks cause… why not?

Beyond Code: Skills for Impactful Development That Makes a Difference — Maxim Cramer

How to make impact beyond code? Mostly about communication. 🦒 The image of the giraffe in a park that every can sort of picture vs feature descriptions. We share very little of our knowledge when we communicate. Shocking fact: 2% of funding is for female founders.

I 💕 Swift Concurrency — Tunde Adegoroye

Concurrency, async let, tasks and tasks groups, actors.

How not to develop an “Umm” detector using Create ML — Yono Mittlefehldt

Um detector. Not really about code but about the thought process. Some tools mentioned worth bookmarking:

Documenting your project with DocC — Simon Støvring

Wrap up around DocC by the author of the Runestone text editor.

I started using DocC with my Blocks project, but I didn’t know about tutorials with DocC.

SwiftUI at Scale — Thomas Ricouard

The point was that SwiftUI is production ready. And apparently, it’s tied to the iOS version running the phone so it doesn’t make sense to use SwiftUI before iOS 14. I guess this means that SwiftUI in iOS 13 is broken.

SwiftUI Navigation — Luis Ascorbe

Should we use SwiftUI or UIKit for navigation? It depends. He recommended the following:

From source code to executable: a day in the life of a Build System — Samuel Giddinis

Why do we need build systems and the complexity behind them. Some notes:

My Code’s Compiling

GitHub - segiddins/Bazel-iOS-Workshop: AppBuilders 2022 workshop on building an iOS app with Bazel

Migrating your legacy code to local SPM packages — Zouhair Mahieddine

This title describes exactly the content of the talk. 😆

Testing for Accessibility — Robin Kanatzar

A reminder that the accessibility tool is good. She recommended the following tool:

Cloud Functions to the rescue — Zamzam Farzamipooya

The talk focuses on Firebase/Google. That’s kind of a non starter for my tastes.

It reminded me of stuff I did for Flâneur and why I didn’t like Firebase: data access boundaries are fragile and require significant effort.

From App to Game Development — Michel-André Chirita

Interesting. The game is: Versus Arena

It made me want to develop a Backgammon game again.

The journey of Widgets begins with one step — Audrey Sobgou-Zebaze

How to start implementing widgets with WidgetKit.