Blog

Technical articles about iOS development, Swift, SwiftUI, and mobile app development best practices.

Why your SwiftUI app feels slow even though Instruments says it’s fine?
iOS Development

Why your SwiftUI app feels slow even though Instruments says it’s fine?

Perceived performance vs measured performance in SwiftUI. Why users feel slowdown where the CPU barely wakes up - and how to fix it without touching Instruments.

19 min read
#SwiftUI#Performance#UX
Navigation in a modular SwiftUI app - how to connect modules that don't know about each other
iOS Development

Navigation in a modular SwiftUI app - how to connect modules that don't know about each other

How to build a NavigationStack when each feature is a separate Tuist module? Dependency Inversion for routing, deep linking between modules, type-safe navigation without a central enum. A practical guide from a production migration.

27 min read
#iOS#Swift#SwiftUI
Secure iOS App Communication with the Backend – Part 3: App Attest and DeviceCheck
Security

Secure iOS App Communication with the Backend – Part 3: App Attest and DeviceCheck

How do you prove to the backend that a request comes from an unmodified, official instance of your app? App Attest is the final piece of the defense-in-depth puzzle.

22 min read
#iOS#Security#Swift
Secure iOS app communication with backend – part 2: Dynamic SSL Pinning
Security

Secure iOS app communication with backend – part 2: Dynamic SSL Pinning

Static certificate pinning is a trap. Learn about Dynamic SSL Pinning, bypass attempt detection, and a rotation strategy that won't lock out your users.

28 min read
#iOS#Security#Swift
Secure iOS app-to-backend communication – part 1: Request signing and quantum-secure TLS
Security

Secure iOS app-to-backend communication – part 1: Request signing and quantum-secure TLS

Your requests today can be decrypted in 10 years. Learn request signing with HMAC and Secure Enclave, and quantum-secure TLS in iOS 26 before it's too late.

20 min read
#iOS#Security#Swift
iOS Databases in 2026: The Complete Guide
iOS Development

iOS Databases in 2026: The Complete Guide

SwiftData, Core Data, GRDB, Realm - which one to choose? Surprising facts, hidden pitfalls, and the brutal truth about each solution. Benchmarks, decision flowchart, and common mistakes you can avoid.

25 min read
#iOS#Swift#Database
How to refactor a legacy iOS app without blocking product development
iOS Development

How to refactor a legacy iOS app without blocking product development

From MVP + Coordinator + UIKit to Clean Architecture + SwiftUI + MVVM + Tuist. A practical guide to incremental migration using the Strangler Fig pattern. What to avoid, where to start, and why a big bang rewrite is a recipe for disaster.

13 min read
#iOS#Swift#Architecture
Swift Actors: 6 pitfalls that will catch even experienced developers
iOS Development

Swift Actors: 6 pitfalls that will catch even experienced developers

Actors in Swift were supposed to be the answer to data races. In practice, they introduce subtle pitfalls that catch even seniors. Reentrancy, actor hopping, false sense of security with @MainActor - here's what to avoid.

11 min read
#iOS#Swift#Concurrency
SwiftUI: anatomy of mistakes even seniors make
iOS Development

SwiftUI: anatomy of mistakes even seniors make

In this article, I wanted to highlight the pitfalls in SwiftUI. It's a deeper look at how the framework works under the hood and the mistakes that can cost you hours of debugging, or worse, go unnoticed until users start complaining about a laggy interface.

17 min read
#iOS#SwiftUI
Can an iOS Developer find their way in Web Dev? Here's my experience.
Web Development

Can an iOS Developer find their way in Web Dev? Here's my experience.

Recently, wanting to expand my skill set, I decided to take on web development. For a long time, friends had been asking me if I do this, or if I know someone who does. This motivated me to dive into the topic and see if it's for me. It turned out that web development is quite enjoyable.

16 min read
#iOS#Web#React
Should you use all these dependencies?
iOS Development

Should you use all these dependencies?

Every iOS developer knows this moment: you start a new project, open Package.swift and wonder whether to add a library or write it yourself?

12 min read
#iOS#Dependencies
Why do new bugs keep appearing in your iOS app?
iOS Development

Why do new bugs keep appearing in your iOS app?

Back when I was starting out as a junior iOS developer, I often found myself in a situation where QA would report a bug, I'd fix it, and two more would appear in its place. I kept wondering - was I just that careless, or was the problem somewhere else entirely? The answer came with time.

8 min read
#iOS#Bugs#Architecture
MVVM + Reducer Pattern
iOS Development

MVVM + Reducer Pattern

A pragmatic approach to state management in iOS without vendor lock-in. ViewModels in classic MVVM often evolve unpredictably, and in this article I show how to control that.

20 min read
#iOS#MVVM#Reducer pattern
TCA vs Clean Architecture: Reflections from Rewriting a Production App
iOS Development

TCA vs Clean Architecture: Reflections from Rewriting a Production App

After more than 8 years of iOS development, I've learned to appreciate architecture that serves the team and project, not the other way around. Some time ago, I joined a project where the app was written in The Composable Architecture (TCA). After several months of challenges, we decided to rewrite it using Clean Architecture. I want to share what this taught us.

4 min read
#iOS#TCA#Clean Architecture