S03E01: How SwiftUI fits in a Clean Architecture | Professional iOS Engineering Series

S03E01: How SwiftUI fits in a Clean Architecture | Professional iOS Engineering Series

Learn how to migrate to SwiftUI incrementally as we migrate away from UIKit UIViewControllers.

Read More

S02E21: Migrating to Swift 5.2 and CI with GitHub Actions | Professional iOS Engineering Series

S02E21: Migrating to Swift 5.2 and CI with GitHub Actions | Professional iOS Engineering Series

In this episode, we migrate the Quiz project to Swift 5.2 and Xcode 11.4.1. And the CI server to GitHub Actions.

Read More

How Deleting Swift Code Can Make You a More Valuable iOS Developer—Clean iOS Codebase Series

How Deleting Swift Code Can Make You a More Valuable iOS Developer—Clean iOS Codebase Series

The ability to develop and maintain a clean iOS codebase is essential to becoming a remarkable iOS Developer. A simple but extremely valuable action you can take is removing unused code—mercilessly. At the same time, we meet many developers afraid of deleting code because they might need it in the future.

Today, you’ll learn two ways for retrieving deleted code from a git repository and how good practices for commits facilitate the maintenance of a clean iOS codebase.



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

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

Migrating to Swift 4.2 using a TDD + Git workflow [S01 Extras]

Migrating to Swift 4.2 using a TDD + Git workflow [S01 Extras]

In this episode, we migrate the Quiz project and its dependencies to Swift 4.2 and modernize our code with the newest additions.

Read More

Clean iOS Architecture pt.4: Clean Memory Management in Swift with WeakRef

Clean iOS Architecture pt.4: Clean Memory Management in Swift with WeakRef

We must be careful with `weak` properties as they can sometimes damage the design of our systems, especially when crossing module boundaries. In this video, we’d like to share with you a way to avoid retain cycles by using a `WeakRef` type, so there's no need to make your class properties `weak`.

Read More

Composing View Controllers pt.3: Lifecycle Observers in Swift

Composing View Controllers pt.3: Lifecycle Observers in Swift

In this video, you'll learn how to create your own `Swift View Controller Lifecycle Observers`. Those observers are very useful when composing and creating reusable view controllers. The solution is based on the `UIViewController Containers API` so there's no need for external frameworks, swizzling or subclassing!

Read More

iOS Continuous Integration Setup with Git, GitHub, Travis CI, TDD, Xcode [S01 Extras]

iOS Continuous Integration Setup with Git, GitHub, Travis CI, TDD, Xcode [S01 Extras]

In this episode, we set up a Continuous Integration (CI) pipeline for our Quiz project. The goal for this initial setup and integration with GitHub is to guarantee we only merge changes that don’t break the build and are passing all tests.

Read More