Core Data in iOS

I am super excited to announce my brand new course “Core Data in iOS”. In this course, you will dive into Core Data and learn how to persist information for your iPhone app.

All the sample code is implemented using SwiftUI and MVVM Design Pattern.

Check out the contents of the course:

  • Getting Started with Core Data and Performing CRUD Operations
  • Core Data Building Blocks
  • Understanding MVVM Design Pattern
  • Core Data and MVVM
  • Transformable Types
  • Relationships — One to Many
  • Relationships — Many to Many
  • Fetching Data from Core Data Store
  • FetchedResultsController and @FetchRequest
  • Core Data in Multithreaded Environment
  • Syncing…

Do you want to learn how to develop a backend for your Flutter app? Are you interested in a serverless backend?

In this course, you will learn how to use the Firebase platform with your Flutter apps. You will implement several real world Flutter projects with Firebase as a backend. You will also learn to integrate the following features with your Flutter apps.

  • Firebase Authentication
  • Firebase Cloud Firestore
  • Firebase Storage
  • Camera
  • Photo Library
  • Auto Scroll
  • Managing Date Time
  • Shared Preferences

After completing this course you will be ready to build your first Flutter app integrated with Firebase.

[Get the complete…

Create better-structured views

Stylish building architecture
Stylish building architecture
Photo by Matt Reames on Unsplash.

Flutter views represent the interface presented to the user. They provide interaction and allow the users to feel the essence of the application. Unfortunately, Flutter views are also often ignored, resulting in tightly coupled and non-reusable components.

In this article, I will discuss techniques that can help you construct more reusable and loosely coupled views.

Displaying List of Customers

Let’s consider a scenario where we have to display a list of customers in our application. When the customer is tapped, we will send the user to the detail screen. In order to create this app, we will start by implementing a CustomerListScreen widget that…

Photo by Vasily Koloda on Unsplash

I graduated in 2005 with a bachelors of Computer Science degree. At the time of graduation I thought I wasted my 4 years in college. But now after 15 years I can say with 100% confidence that I was right.

In this post I will discuss that it is not mandatory to attend college if you are seeking a computer science degree and the education you receive does not justify the cost.


Attending college in USA is expensive. This is reflected in more than 1.5 trillion dollar student loan debt. Average tuition cost is around $22,000 a year and this…

Give a shoutout to Joshua Sortino on social or copy the text below to attribute.

When designing SwiftUI applications it is extremely important to make sure that the views are decoupled and reusable. Tightly coupled views are harder to maintain, reuse and can result in future complications.

In this post, I will demonstrate how to implement decoupled views that can be reused in SwiftUI applications.


We will implement a simple scenario of master-detail view. The master view will display a list of customers and when a customer is selected, it will take the user to the detail screen and display the selected customer. One possible implementation is shown below:

Inside the List view, we…

The cross-platform framework offers the best of both worlds

Photo by James Wainscoat on Unsplash.

As an iOS developer, even the thought of implementing apps in a cross-platform framework gives me the chills. I remember attending countless meetings in which I argued that going native was the best choice. Unfortunately, most of the time, companies went with Xamarin, Sencha, or even some unknown framework from IBM.

In order to truly understand the problem, you have to look at it from both sides. In this article, I will discuss how a cross-platform framework like Flutter can be an excellent choice for most companies.

User Interface Widgets

Flutter is written from the ground up. Unlike React Native and Xamarin, Flutter…

Making navigating between screens in different states easier

An empty road
An empty road
Give a shoutout to Tiago Aguiar on social or copy the text below to attribute.

When working with React.js or Flutter apps, developers can configure their routes in a central place. This creates a single point of change where existing routes can be updated and new routes can be added.

Unfortunately, SwiftUI doesn’t provide a global route-management system. In a SwiftUI app, routes are scattered in each view, which makes them harder to reuse and a maintenance nightmare.

In this article, I’ll demonstrate how a simple global route-management system can be implemented for SwiftUI applications. Hopefully, we’ll see a more comprehensive system introduced by the Swift team in future releases.

Understanding the Problem

Before diving into the implementation…*4fDVdzPaeC7IqiW3R1YhAg.png

SwiftUI was released at WWDC 2019 as a declarative framework for building apps for all Apple platforms. It quickly became the talk of the WWDC and was embraced by the iOS community. Apple has painted a picture of SwiftUI being the future of iOS development. In this post, I will cover why you should focus on learning SwiftUI in 2021.

Learning Curve

From my personal experience, learning SwiftUI was a relatively easy process. Even though the framework is completely different from its predecessor, UIKit I was able to relate my knowledge of ReactJS and Flutter to feel comfortable with SwiftUI. …

Give a shoutout to Ryan Quintal on social or copy the text below to attribute.

In my last post, I talked about how isolating the code allows you to focus on the main problem and ignore the complexity associated with the rest of the application. In this post, I will talk about how a large problem can easily be solved by dividing it into much smaller (micro) problems.

Implementing Micro Tasks

Let’s say you are building an application which allows the user to authenticate using username and password. You are responsible for the complete piece, which includes the database, server as well as the user interface. If you look at the problem as a single unit, you may…

Give a shoutout to Lukas Bato on social or copy the text below to attribute.

I have been teaching software development for the last 4 years and have trained over 200 developers. After graduating 200+ developers, I started to see a lot of patterns in their learning and behaviours. One of the most important thing I notice among new developers is they fail to isolate the issue from the big picture. This result is frustration and lost productivity, which could have been avoided.

In this post, I will talk about how to isolate the issue and how isolating and focusing on a one single problem can allow you solve the problem much quicker and in…

Mohammad Azam

iOS Developer, speaker and educator. Top Udemy and LinkedIn instructor. Lead instructor at DigitalCrafts.

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