Majid's blog about Swift development

Mastering buttons in SwiftUI

Button is one of the regularly used components in SwiftUI. We use buttons to allow users to produce actions. That’s why it is so essential to generalize the look and feel of buttons in our apps. This week we will master buttons in SwiftUI. We will learn how to customize the look and feel of our buttons.

Customizing the shape of views in SwiftUI

SwiftUI provides us several exciting ways to change the shape of our views. It allows clipping, masking, and a few other operations on the shape of views. This week I want to talk to you about altering view’s shape in SwiftUI.

Building ViewModels with Combine framework

One of my first posts on this blog was about using the ViewModel pattern in iOS apps. I’m still using this concept in some old school UIKit projects. But I think it’s time to remaster that post. This week we will talk about building reactive ViewModels using Combine framework.

Using UIKit views in SwiftUI

A few weeks ago, we talked about building views like PagerView and BottomSheetView from scratch in SwiftUI. SwiftUI is pretty young and misses some components that we expect to have out of the box. But it provides all the needed APIs to build whatever we want. However, sometimes we need to reuse UIKit views instead of making the SwiftUI versions. This week I want to talk to you about using UIKit views in SwiftUI.

Optimizing views in SwiftUI using EquatableView

SwiftUI provides us a very fast and easy to use diffing algorithm, but as you might know, diffing is a linear operation. It means that diffing will be very fast for simple layouts and can take some time for a complicated layout.

Building networking layer using functions

This week I want to talk about building a networking layer in Swift using Functional programming. Functional programming is a way of making programs using pure functions and function composition. Let’s see how we can use it to build a flexible and composable network layer.

SwiftUI learning curve in 2019

This year we had a massive change in iOS development world. We got a SwiftUI framework. SwiftUI is a brand new declarative way of building apps for Apple ecosystem. Let’s build our learning curve. I want to share with you the list of all the needed posts to learn SwiftUI.

Building Pager view in SwiftUI

This week I want to continue the series of posts about building custom interactive views in SwiftUI. Today we will create a pager view. ScrollView in SwiftUI support only scrolling content and doesn’t have paging behavior. That’s why we will build a pager view that supports paging mode.

The power of @ViewBuilder in SwiftUI

Last week we started a series of posts about developing interactive components using SwiftUI, where we talked about building the bottom sheet. We need to understand the power of @ViewBuilder before moving to the next post about building another interactive view. That’s why this week, we will talk about @ViewBuilder and its benefits while developing custom views.