Building type-safe networking in Swift
Feb 9, 2021, 7:00 PM
More than half of the apps I built during my career had networking code. Usually, we build apps for web services. Today we will talk about building the type-safe networking layer using Swift language features like enums, phantom types, and...
Redux-like state container in SwiftUI. Connectors.
Feb 2, 2021, 7:00 PM
During the last year, I totally understood the power of a single source of truth and a state container that holds the whole app state in a single place. I’ve used this approach in a couple of my apps and continue to use it in new projects.
Lazy navigation in SwiftUI
Jan 26, 2021, 7:00 PM
Most of our apps are more than just a single screen app. We use the navigation to connect different screens inside the app. SwiftUI provides us NavigationLink struct that we can use to link views. This week we will learn how to use...
Profiling SwiftUI app using Instruments
Jan 19, 2021, 7:00 PM
Xcode comes with a bunch of tools you need to build, debug and release your apps. One of these tools is the Instruments app. The Instruments app is a great tool for profiling your iOS apps. It provides many profiling templates for...
AnimatableModifier in SwiftUI
Jan 10, 2021, 7:00 PM
I have already talked about animations in SwiftUI many times on this blog. But still didn’t cover all the opportunities in terms of animation. Today I want to fill another gap and talk to you about the AnimatableModifier protocol that...
Labels in SwiftUI
Dec 22, 2020, 7:00 PM
We often underestimate the power of simple things. The same feelings I had during the first usage of Label view in SwiftUI. It looks straightforward, but it hides many use cases where it works great. Today we will talk about the Label view...
Hero animations in SwiftUI
Dec 16, 2020, 7:00 PM
Animation is one of the powerful features of SwiftUI. I was shocked when I saw how easy we could animate changes in view hierarchy by simply mutating @State properties and attaching animation modifiers. This week we will talk about another...
Styling custom SwiftUI views using environment
Dec 8, 2020, 7:00 PM
One of my favorite features of SwiftUI is styling. I love the idea of style protocols provided by every view and sharing them using the environment. I have already covered most of the style protocols for SwiftUI provided views in my...
Focus management in SwiftUI
Dec 1, 2020, 7:00 PM
WWDC 20 brings us tons of new SwiftUI APIs, which we can use to improve our apps user experience without using UIKit. One of these new APIs was the focus management API that we can use on iOS, macOS, tvOS, and watchOS. This week we will...
Commands in SwiftUI
Nov 23, 2020, 7:00 PM
This week we will talk about another new API that Apple released this year during WWDC 20. Replacing AppDelegate with the new SwiftUI App Lifecycle brings us tons of new APIs that we can use to replace old functionality with a brand new...
Keyboard shortcuts in SwiftUI
Nov 16, 2020, 7:00 PM
This year Apple released the new App Lifecycle API for SwiftUI, which brings tons of new modifiers to replace AppDelegate callbacks. I have already covered most of them in previous posts. This week, we will discuss the new keyboardShortcut...
How to use GeometryReader without breaking SwiftUI layout
Nov 3, 2020, 7:00 PM
Usually, I try to avoid GeometryReader as much as I can. But sometimes, we need it to build our custom view. This week we will talk about GeometryReader. The view that allows us to read its geometry and layout child views manually.
The magic of redacted modifier in SwiftUI
Oct 21, 2020, 8:00 PM
Redacted modifier is the thing that will have a great impact on how iOS apps handle loading states. During WWDC20, Apple showed us the easy way of hiding the data from home-screen widgets using the redacted modifier. Today we will talk...
Mastering GroupBox in SwiftUI
Oct 14, 2020, 8:00 PM
Styleable views is the thing I love in SwiftUI. You can separate your view logic and its style. You can easily apply different styles in different conditions whenever you need to change appearance depending on the platform or other...
Transactions in SwiftUI
Oct 6, 2020, 8:00 PM
Animations play a vital role in SwiftUI. We saw a lot of examples of complex animations that we can easily implement in SwiftUI. The guidance for building fluid animations in SwiftUI has the only one step: mutate your state, and SwiftUI...
Karabakh is Azerbaijan
Sep 27, 2020, 8:00 PM
Nagorno-Karabakh is not a disputed territory. This is the territory of Azerbaijan. Both historically and officially recognized by the whole world, including Armenia.
Mastering ScrollView in SwiftUI
Sep 23, 2020, 8:00 PM
We had the scroll view from the very first version of SwiftUI. It was quite limited. But this year changed everything when Apple released ScrollViewReader during WWDC 20. This week we will learn all about scroll views in SwiftUI. We will...
Tabs and pages in SwiftUI
Sep 15, 2020, 8:00 PM
This week we will talk about creating tabs and pager views in SwiftUI. TabView gained superpower during WWDC20. We can now use it across all the Apple platforms to build tabbed and paged user experiences with SwiftUI out of the box.
Building widgets in SwiftUI
Sep 8, 2020, 8:00 PM
This week I want to talk to you about home-screen widgets in iOS 14. I’ve built several widget collections for my apps, and it is a perfect time to share with you that experience. Today we will learn all about building and updating widgets...
Displaying recursive data using OutlineGroup in SwiftUI
Sep 1, 2020, 8:00 PM
This week we will talk about another excellent UI component called OutlineGroup. Apple released OutlineGroup during the WWDC20 side-by-side with other great things, including grids, menus, and toolbars. I already covered them in my...
Managing scenes in SwiftUI
Aug 25, 2020, 8:00 PM
This week we will continue the series of posts about the app and scene lifecycle in SwiftUI. Today we will concentrate on scene management and the features that the new Scene protocol provides us to replace the old SceneDelegate.
Managing app in SwiftUI
Aug 18, 2020, 8:00 PM
One of the most important things that Apple did release this year was the native app and scene management for SwiftUI apps. This week we will understand how to manage our apps using App protocol without old AppDelegate. We will learn how...
Menus in SwiftUI
Aug 4, 2020, 8:00 PM
This week we got another Xcode Beta that brings menus into SwiftUI world. Menus are going to replace old action sheets that have been here since iOS 8. Action sheets don’t play well with huge screens that we have nowadays. This week we...
Using MapKit with SwiftUI
Jul 28, 2020, 8:00 PM
This year we saw that Apple started using SwiftUI across macOS and iOS to build notification center and widgets. Another great addition was a SwiftUI integration for frameworks that Apple provides us like MapKit and AVKit. This week we...
Sidebar navigation in SwiftUI
Jul 20, 2020, 8:00 PM
We already covered master-detail navigation in SwiftUI on my blog. But today, I want to talk about the new three-column navigation that landed this year into iOS and macOS worlds. We will learn how to build a sidebar navigation flow by...
Mastering toolbars in SwiftUI
Jul 14, 2020, 8:00 PM
Toolbar API is another excellent addition to SwiftUI this year. Usually, we use toolbars to provide available actions. Did you remember the case where you have a button outside of the navigation bar or bottom bar? This week we will learn...
Mastering grids in SwiftUI
Jul 7, 2020, 8:00 PM
This week I want to talk about grids in SwiftUI. It was the most expected feature. Everybody has been waiting for UICollectionView alternative in SwiftUI, and finally, it arrived this year. SwiftUI provides us LazyVGrid and LazyHGrid views...
The difference between @StateObject, @EnvironmentObject, and @ObservedObject in SwiftUI
Jul 1, 2020, 8:00 PM
This week I decided to share as much as I can about data flow in SwiftUI. In this post, we will discuss the difference between @StateObject, @EnvironmentObject, and @ObservedObject property wrappers. I know that this is the most confusing...
New property wrappers in SwiftUI
Jun 28, 2020, 8:00 PM
WWDC20 brought a lot of new features into SwiftUI that I will discuss on my blog during the next weeks. Today I would like to start with the main additions to SwiftUI data flow with the brand new @StateObject, @AppStorage, @SceneStorage,...
What’s new in SwiftUI
Jun 22, 2020, 8:00 PM
I have been waiting for this day for the last nine months, and it has finally arrived. We saw the next iteration of the SwiftUI framework. Apple did a great job during the last year by improving SwiftUI and moving it towards by making it a...
The magic of Animatable values in SwiftUI
Jun 16, 2020, 8:00 PM
WWDC20 is already around the corner, and we are waiting for massive changes and additions to the SwiftUI framework. It is a perfect week to wrap up the season with a post about one of the strongest sides of the SwiftUI framework, which is...
SwiftUI wishlist for WWDC20
Jun 9, 2020, 8:00 PM
We already started collecting our questions for Apple engineers. On the other hand, I decided to share with you my SwiftUI wishlist for WWDC20. This week we will talk about possible additions and changes in SwiftUI. I will show you also...