What I am working on
SwiftUI: Exposing a View's State
Last week I gave you a behind-the-scenes look at how I produce my videos, and this week I am happy to share the result with you: in the fourth episode of my series about Building SwiftUI Components, I show you how to add input validation to the Floating Label TextInputField
we’re building, and how to expose the validation state via @Binding
. This is a technique you can use in you own SwiftUI components as well, so don’t miss out on this one!
Firebase
Meet the Firestore Emulator Requests Monitor
This next link lines up nicely with the topic of developer productivity. The Firebase Emulator Suite makes it easy to develop and test your application locally (or on your CI/CD system!) by providing an easy-to-use way to run Firebase services on your local machine.
To give you a better understanding of the requests your app sends to Firestore, the Emulator suite now contains a request monitor. This allows you to see and inspect the requests your app sends to Firestore, including information about whether or not the request was allowed or denied by your Security Rules. You do write Security Rules, don’t you?
Learn more about this new feature on the Firebase blog.
Productivity
Workshops as code
If you’ve ever run a workshop (or attended one!) you know that usually, a good chunk of time is spent wasted on setting up the development environment. Downloading the correct versions of the IDE, the SDKs and their dependencies and getting them set up tends to eat up the better part of the first session of a training. And even after everyone is ready to go, you will find out later that literally each participant has a slightly different setup which might behave slightly different at critical points throughout the training.
I was curious to read this article by Geoffrey Huntley of Gitpod who describes how you can eliminate whole class of problems by running your workshop using Gitpod workspaces. He writes: “A Gitpod workspace gives you the same capabilities (yes, even root, Docker & qemu) as a Linux machine that is already pre-built, works on any device from anywhere and that launches in seconds.”
Why Xcode Tools Are Slow After Reboot
Easier setups and faster turnaround times increase developer productivity, which reminded me of Michael Tsai’s tweet the other week.
If you’ve been wondering why running the developer tools is slow after a reboot, now you know why. What do you think - is Apple headed in the direction of GitHub Codespaces and Gitpod Workspaces?
On Repeat
VULFPECK /// Dean Town (Live at Madison Square Garden)
You might not know, but I am a bass player myself, so seeing the crowd sing along the bass line of a song was an unexpected experience. Have a listen for yourself!
Nick Campbell Destroys Dean Town By Vulfpeck (Except It's Like 50bpm Faster)
And if you thought that was fast, check out this version by Nick Campbell (of Pomplamoose and Scary Pockets fame).
Fun stuff
With the official release of macOS 12 Monterey just around the corner, you might be wondering why Apple stopped using (wild) cat names for their major releases. Maybe they ran out of names, and Phil Schiller didn’t approve of this suggestion.
Comment
Hello! Today is the day! Apple’s California Streaming event is taking place at 10 a.m. PDT (check here for your local time), and that means we will get to know when iOS 15 will be released to the public.
iOS 15 comes with a host of new features, but personally, I am most excited about SwiftUI closing the gap to UIKit, and async/await.
I’ve spent quite some time looking into all the new features and what they mean for Firebase, and if you’ve been following me on Twitter and YouTube, you might have seen some of this work already. Expect an update soon!
I hope you enjoy this second edition of Not Only Swift Weekly - if you do, please share it with a friend. And as always, feel free to share your feedback with me by replying to this email.
Thanks for reading!
Peter