Avoid endless Xcode builds on your UIKit projects

SwiftUI has changed the way of writing UI code but let’s be honest, most of iOS apps still use UIKit as framework. Migration to SwiftUI will be slow but meanwhile we can use some of its amazing tools, such as Live Previews.

In this tutorial you will learn how to wrap UIViewController and UIView into SwiftUI views in order to use Live Previews. Result will be the following:


Learn from scratch how to connect your data in SwiftUI

Data management is one of the most important and complex tasks when developing an app. This involves several processes from the data modeling to the app production. But don’t worry, as we will see, SwiftUI ensures a smooth and data-driven experience during this phases.

In this article, we will learn about the Data basics in SwiftUI. Starting from scratch we are going to get strong knowledge on:

  • Dealing with a key concept in SwiftUI: the Source of Truth.
  • Using essential tools such as @State and @Binding.
  • Modeling and managing different types of data on a view.
  • Connecting these data between…

Use SwiftUI Animations to build aesthetic progress bars for your app

SwiftUI has changed the way of writing UI code. It provides us lot of facilities, one of them is related with animating state transitions.

In this article we will learn how to build a horizontal progress bar using SwiftUI animations. We’ll see how easy is to implement this animation and how we can use it as starting point for complex and aesthetic animations like:


Learn in an easy way how to build a cool animation using SwiftUI

Since SwiftUI appeared, the way of writing UI code has changed. It provides us a lot of features to develop our creativity. One of these features is related to animating state transitions.

This article guides you through building a custom loading spinner. This is based on this design and result will be the following:


Build an App Store component replica to learn how LazyStacks can optimize your app performance

A lot of cool features were added to SwiftUI with iOS 14, one of them are the lazy stacks. In this article you will see the advantages of using it. We will learn about how this stacks works, how they can improve our app performance and the situations where they are useful.

Regular stack issues

Before including the concept of laziness on this components, SwiftUI just provided VStack and HStack. Both load all their content once the view is initialized. This is not a problem in light apps but a different situations occurs when the amount of data starts growing.

Let’s think in…


Learn step by step how to build an iOS application using the brand new Apple frameworks

This article guides you through building a complete app using only and exclusively those frameworks. Not only that, but we will also use a design pattern that has been gaining more and more traction in the Apple devs community. This is the MVVM architecture.

Before starting, note that this is the third and last part of the tutorial. For a better understanding of the exercise, please check out the previous parts:

If it’s the first time…


Learn step by step how to build an iOS application using the brand new Apple frameworks.

This article guides you through building a complete app using only and exclusively those frameworks. Not only that, but we will also use a design pattern that has been gaining more and more traction in the Apple devs community. This is the MVVM architecture.

Before starting, note that this is the second part of the tutorial. For a better understanding of the exercise, please check out the previous part. It includes the app presentation and all details related to the code structure using MVVM. In this first part, we also implemented the model:


Learn step by step how to build an iOS application using the brand new Apple frameworks.

SwiftUI and Combine, the recent frameworks released by Apple, are changing completely the way of developing iOS apps. They provide a new approach to implement UI and handle events.

This article guides you through building a complete app using only and exclusively those frameworks. Not only that, but we will also use a design pattern that has been gaining more and more traction in the Apple devs community. This is the MVVM architecture.

You can find rest of parts in the following links:

What we will build

We are going to develop Booklist. This is a store app for searching…


With graphic examples

This article introduces the basics of Combine, a framework that allows you to write solid, safe, and well-tested asynchronous code. In this article, we will focus on its theoretical fundaments and key points, served with graphic examples. Something essential before writing any line of async code.

First things first: Asynchronous code

If we check Apple docs, we’ll find the following description about Combine: “Customize handling of asynchronous events by combining event-processing operators”. That’s very accurate actually but if you’re getting started with Combine it can be a bit complex or abstract. In this way, let’s start with the concept of asynchronous code.

First, a program…


With code example

SwiftUI and Combine are the latest Apple’s frameworks. They provide a new way to declare user interfaces. In this example we’ll learn to build and update lists automatically, only in a few lines of code.

Apple has a complete tutorial about building lists with SwiftUI, so we are going to recycle it. In our case, we’ll use SwiftUI to create a list but loading its data from a remote JSON file. Additionally we’ll use Combine to update the table information automatically.

Assuming that a remote JSON file contains following landmark details:

[ { "name":"Turtle Rock", "state":"California", "id":1001, "imageName":"turtlerock" }, {…

Finsi Ennes

iOS Developer. Passionate about coding and UX design. For more content, you can follow me on Instagram @finsi.code

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store