Here are some interesting thoughts on the idea that SwiftUI lets you choose you own architecture, unlike UIKit, which steers you towards some variation of MVC.
I also like their basic hand-drawn visual. 🤓
Via iOS Dev Weekly.
Makin’ software.
Here are some interesting thoughts on the idea that SwiftUI lets you choose you own architecture, unlike UIKit, which steers you towards some variation of MVC.
I also like their basic hand-drawn visual. 🤓
Via iOS Dev Weekly.
Xcode 12 is adding a new metric to objectively track how smoothly your app scrolls. This is kind of cool since scrolling smoothness feels right and is a sign of a good design.
Via iOS Dev Weekly.
Thank you, Airbnb, for sharing HorizonCalendar.
A declarative, performant, iOS calendar UI component that supports use cases ranging from simple date pickers all the way up to fully-featured calendar apps.

Via iOS Dev Weekly.
I really like the points made in this article about Swift error handling: using throw/try/catch is actually much better than returning optionals or the new Result type.
👉Benefits of using throwing functions (try) – Swift’s most underrated feature?
Throwing errors, when used throughout your codebase, helps you reduce and simplify code. It makes your unit testing easier too.
As a former Java programmer, I have to admit some hesitance to throw anything. Java error handling can turn into a nightmare of its own.
But the author makes some compelling arguments why throwing might make sense in Swift. Error handling is never fun; let’s do it the easy way. 🤷🏻♂️
In a related note, Re: Making Wrong Code Look Wrong also talks about the benefits of throwing in Swift, in particular with relation to local reasoning. 👍
Via iOS Dev Weekly.
I like the title of this article because it recognizes that pulling third-party dependencies into your app has a cost.
👉 What Adding Dependencies Will Do To Your App in 2020
And yet we all do it because it also has its benefits. 🤦🏻♂️😂
That article is a realistic and practical look how the dependencies affect your app in terms of app launch times, app size, and build times. It compares Swift Package Manager 🤓, Carthage 🤷🏻♂️, CocoaPods 😬, manual dependency management 🥺, and Git Submodules 🤮.
I still have a dream of zero dependencies 🤩, but I know it’s not realistic in a complex app. 😑
Via iOS Dev Weekly.