S03E08: Creating a Domain module in a clean iOS architecture | Professional iOS Engineering Series

S03E08: Creating a Domain module in a clean iOS architecture | Professional iOS Engineering Series

Learn how to create an independent Domain module to separate Core Domain logic from 3rd-party frameworks and app-specific details.

Read More

S03E07: Differences in Dynamic & Static Frameworks/Libraries | Professional iOS Engineering Series

S03E07: Differences in Dynamic & Static Frameworks/Libraries | Professional iOS Engineering Series

Learn once and for all the differences in Swift Dynamic & Static Frameworks/Libraries and how they affect your iOS apps.

Read More

S02E06: Design spiking DataSource/Delegate APIs | Professional iOS Engineering Series

S02E06: Design spiking DataSource/Delegate APIs | Professional iOS Engineering Series

In this episode, we spike new design ideas to separate the responsibilities of (1) building a Quiz result, and (2) delegating the result (Single Responsibility Principle).

Read More

S02E01: iOS Architecture Overview & Planning | Professional iOS Engineering Series

S02E01: iOS Architecture Overview & Planning | Professional iOS Engineering Series

In this first episode, we review the current architecture for the Swift Quiz app built in Season 1 and start planning how to extend the `QuizEngine` into a more reusable and composable Swift framework that can power various quiz-based apps (games, surveys, etc.).

Read More

Tech Debt: Low short-term risk with High long-term rewards | iOS Lead Essentials Podcast #008

Tech Debt: Low short-term risk with High long-term rewards | iOS Lead Essentials Podcast #008

Dealing effectively with debt is essential to an enriching life and career. And, as software developers, we must also master the art of dealing with a special kind of debt… Tech Debt!

Read More

Why mocking in iOS tests may not stop network and DB activity entirely

Why mocking in iOS tests may not stop network and DB activity entirely

An excellent iOS test suite is fast, reliable, precise and, reproducible. A common problem that makes automated testing in iOS slow and flaky is the presence of unexpected side-effects and artifacts during the execution of unit tests.

Read More

3 Steps to Prepare Your Apps for SwiftUI, Combine, iPadOS, Project Catalyst, and Any Other Leaps in the iOS Industry

3 Steps to Prepare Your Apps for SwiftUI, Combine, iPadOS, Project Catalyst, and Any Other Leaps in the iOS Industry

At this year's WWDC, Apple caught most of the developers by surprise with the announcement of new frameworks and platforms such as SwiftUI, Combine, iPadOS, Project Catalyst, and many other fantastic updates.

Once more, iOS developers are looking at a fantastic opportunity for getting ahead in the game by mastering new technologies and providing outstanding value in the iOS job market.

Read More

Decomposing Swift code into modules – Intro to modular design

Decomposing Swift code into modules – Intro to modular design

In this episode, we zoom out from the component level view of the system created previously and we showcase how to organize it into modules.

Read More

Careful With “Singleton” Lookalikes (WAY TOO COMMON)

Careful With “Singleton” Lookalikes (WAY TOO COMMON)

Have you ever been told that Singleton is an anti-pattern? Well, Singletons can be ok, but if you are not careful, they aren’t just an anti-pattern. THEY CAN BE DANGEROUS!

Read More

How to prepare for an iOS interview

How to prepare for an iOS interview

A question we are frequently asked, usually by less experienced iOS developers, is how to prepare for an iOS interview. Most candidates look for our advice for preparing on technical details such as what frameworks or libraries to invest their time in, what architectural patterns should they be using, and other technical details.

Read More