Once-a-year Black Friday deals are coming. Read more.
Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Issue 103
Feb 22, 2022

Stereotypes and misunderstandings

Last week, I started the intro with the following line:

As if your mam was coding Swift.

Not realizing I was about to forget to share important context. I have an essential role to fill by reaching over 8000 subscribers with my newsletter, and one of the things I need to improve is ensuring context is set.

The above line could easily be read as me stating "mams aren't smart" or "mams can't code." Obviously, that wasn't my intention at all!

Before providing the missing context, I first want to apologize to those that felt misplaced with my previous intro. Sorry, it was unintentional.

So, what's that background story?

Back when I was still living with my parents, I often had to help my mother navigate on her iMac (yes, of course, I made sure she bought an iMac, haha!). My parents didn't grow up with computers, so they had difficulty speeding up with things.

The best way for my mom was to explain things simply and to the point. As if my mam was coding Swift refers to precisely this.

I want to thank those that reached out and provided me feedback accordingly. I'm here to learn like you, and only feedback can help me grow.

----

Before letting you go, there's an update coming for RocketSim soon. You'll be able to configure a custom color for touches, and touches will now work correctly in landscape. Apart from that, I've made significant performance improvements to add a little love to your CPU usage.

Lastly, SwiftLee Jobs received an update as well. Featured listings are more prominently visible in this newsletter, and instead of being only visible on the SwiftLee homepage, jobs are now presented on over 170+ SwiftLee articles. It has never been a better time to post your job positions!

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

SwiftUI is still relatively new, and I can tell you that I'm still learning every day. One of the things that I didn't understand until today is the difference between @StateObject and @ObservableObject. I decided to dive in and write down my learnings along the way inside this week's article.

SPONSORED

Runway connects with all your existing tools (think GitHub, CI, App Store Connect, etc.) to level-up your team’s release coordination and automation. Track sign-offs, automate everything from kickoff to submit to release, and avoid the usual cat-herding. Get started for free.

SWIFTLEE JOBS

$87-109K (United Kingdom)
(Remote, United States)
Browse more Swift related Jobs, or add your own on SwiftLee Jobs.

CURATED FROM THE COMMUNITY

SWIFT

I loved this article by Jordan Rose since I rarely find any articles explaining the differences between static and dynamic libraries that well. Many of you might not even think about this, but if you’re developing libraries yourself, you might want to know the differences.
The last time I was monitoring network reachability, I’ve always been reaching out to the Alamofire class right away. Aryaman Sharda made me realize there might be a better way today using a 1st party Apple framework.
Majid Jabrayilov continues his series on Redux-like state containers in SwiftUI with a follow-up migrating to use async-await instead of Combine.
When you start using Xcode Cloud, I bet you soon want to involve custom build scripts and 3rd party tools. At WeTransfer, we currently use tools like SwiftLint and Danger, which will likely require these custom build scripts in Xcode Cloud. Moritz Philip Recke explains how this works.
I always enjoy explorations by Marin Todorov. This time, he developed a login sequence using a TaskGroup which made me realize I need to dive into task groups myself soon. It’s pretty cool, and I can see its value for sequences like this.
An exciting exploration by Jordan Morgan in which he wraps struct inside a generic observable object (spoiler, oops). Either way, I enjoyed the creativity here, but I wonder whether I would want to walk the same route just to use structs everywhere. Though: it’s inspiring!
Chris Lattner shares the background story on his decision to leave the Swift core team and the Swift Evolution community. Not a happy story, but essential to read. In my opinion, toxic environments are unacceptable. If situations don't improve after trying, stepping away is the right thing to do.

OPTIMIZING

Code reviewing is just as important as writing quality code. By optimizing workflows around PRs in your team you can easily speed up the whole process of development. At WeTransfer, we frequently discuss situations that slowed us down during PRs to ensure we work more efficiently. Krzysztof Zabłocki shares his best practices for both creating and reviewing PRs from which I bet you’ll learn a lot.
I know: this is not a Swift-related post. Though, I’m sure many of you are on Twitter since the Swift community is quite active there. Joe Fabisevich shares a neat little tip to level up your Twitter bio. I’ve learned something new!

THANK YOU

Thanks for being a SwiftLee subscriber! 
Continue your journey: