Clean iOS Architecture pt.6: VIPER – Design Pattern or Architecture?

Clean iOS Architecture pt.6: VIPER – Design Pattern or Architecture?

Today we're going to analyze the VIPER iOS Architecture and decide if we can call it a Software Architecture or a Design Pattern like the MVC, MVVM and MVP design patterns we talked about in the previous video.

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

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

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

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

Read More

S01E02: [TDD 🍅 1] Creating a Swift Framework - The Game Engine

S01E02: [TDD 🍅 1] Creating a Swift Framework - The Game Engine

In this episode, we dive into our first lines of code. Before we begin building the project, we agree on a set of rules such as:

  • Follow the Pomodoro Technique for segmenting workload and time
  • Develop the system by writing tests first
  • Separate the responsibilities of the system in modules

We start by creating the QuizEngine project, a module responsible...

Read More
2 Comments
Share

Fearless and Productive Use of 3rd-Party iOS Frameworks

Fearless and Productive Use of 3rd-Party iOS Frameworks

When I began my professional career, I worked in a company where using third-party frameworks wasn’t allowed.

We had to write all our features from scratch, building them in such a way that they could be reused in additional projects as our own internal frameworks...

Read More