Latest
19 illustrated stories · updated 09:52 AM
Hello Developer: August 2026
In this edition: Check out an all-new video from Cupertino to dive deeper into the biggest updates from WWDC26. Download templates and get started building App Store assets for iOS 27. Discover best practices for integ…
Everything about my smart home and homelab setup
I've written a couple of posts in the past about how my home network and home automation setup is laid out, but it changed so much over time that it's now time for an updated post! This time I'll put everything together …
Revisiting the JET iOS Modular Architecture in 2026
Revisiting the Modular iOS Architecture @ Just Eat from 2019 addressing previous limitations and refining the vocabulary.
Hello Developer: July 2026
In this edition: Try an all-new search tool on the Apple Developer website. Download design kits for Figma and Sketch. Explore the biggest updates from WWDC26 in new activities around the world and online. Read about A…
Design kits for iOS, iPadOS, and macOS 27 are here
Apple design kits for Figma and Sketch are now available for iOS, iPadOS, and macOS 27. These include: Updates to Liquid Glass Expanded component and state support Naming changes to better align with code Improved resiz…
Luca: A Decentralized Tool and Skills Manager for the AI-Augmented Developer Workflow
Introducing Luca. Luca manages tools, agentic skills and tasks on macOS and Linux. https://luca.tools/
Universal Links At Scale: The Challenges Nobody Talks About
A deep dive into the practical challenges of implementing, testing, and maintaining Universal Links at scale
How to Implement a Decentralised CLI Tool Manager
A design to implement a simple, generic and decentralised manager for CLI tools from the perspective of a Swift dev.
How to setup a Swift Package Registry in Artifactory
A quick guide to setting up a Swift Package Registry with Artifactory to speed up builds and streamline dependency management.
Swift 6 suitable notification observers in iOS
The author discusses challenges managing side projects, specifically updating SignalPath to Swift 6. They encountered errors related to multiple notification observations but resolved them by shifting to publishers, avoi…
AnyClass protocol and Objective-C methods
AnyClass is a protocol all classes conform to and it comes with a feature I was not aware of. But first, how to I ended up with using AnyClass. While working on code using CoreData, I needed a way to enumerate all the Co…
AnyView is everywhere in Xcode 16
Xcode 16 introduces a new execution engine for Previews, enhancing project configuration support and improving performance by up to 30%. However, it wraps SwiftUI views in AnyView for debug builds, which can hinder optim…
Sorting arrays in Swift: multi-criteria
Swift’s foundation library provides a sorted(by:) function for sorting arrays. The areInIncreasingOrder closure needs to return true if the closure’s arguments are increasing, false otherwise. How to use the closure for …
How to keep Date’s microseconds precision in Swift
DateFormatter is used for converting string representation of date and time to a Date type and visa-versa. Something to be aware of is that the conversion loses microseconds precision. This is extremely important if we u…
Wrapping async-await with a completion handler in Swift
It is not often when we need to wrap an async function with a completion handler. Typically, the reverse is what happens. This need can happen in codebases where the public interface can’t change just right now, but inte…
Scalable Continuous Integration for iOS
How Just Eat Takeaway.com leverage AWS, Packer, Terraform and GitHub Actions to manage a CI stack of macOS runners.
How the relative size modifier interacts with stack views
And what it can teach us about SwiftUI’s stack layout algorithm I have one more thing to say on the relative sizing view modifier from my previous post, Working with percentages in SwiftUI layout. I’m assuming you’ve rea…
Working with percentages in SwiftUI layout
SwiftUI’s layout primitives generally don’t provide relative sizing options, e.g. “make this view 50 % of the width of its container”. Let’s build our own! Use case: chat bubbles Consider this chat conversation view as a…