Swift has some really interesting frameworks but the information is sometimes scattered over different pages and Apple's own documentation not always deep enough. This page serves as a collection of useful blogs / books regarding specific areas / frameworks.
Since SwiftUI is continuously evolving, it's highly possible to bump into issues where a view is not backwards compatible (e.g. AsyncImageView
was only introduced in iOS 15). Fortunately there are several solutions on the internet,
-
Apple made a nice examples page.
-
Paul Hudson has an extensive introduction to SwiftUI.
-
John Sundell dedicated a whole category to SwiftUI.
-
Majid wrote a few interesting articles. This one can serve as a great starting point. There are some really interesing entries on the categories page.
-
Alex Grebenyuk did a very good explanation on SwiftUI layout system.
-
Samuel Défago wrote a thorough article about SwiftUI layout behaviours. It's worth a read.
-
There's a basic introduction about the new concurrency related features on Apple's site.
-
Andy Ibanez wrote a detailed series about async / await. This one is definitely recommended.
-
You can find a whole discovery section on John Sundell's site about async / await.
-
Avander Lee also wrote a few articles with useful examples. This is a good starting point.
-
There are some interesting articles on Donny Wals's concurrency related pages.
-
Apple recently published a great algorithms extension for async / await.
-
Antoine Van Der Lee has a few great blog posts about Combine. You can start with this and continue on related ones describing some specifig use cases.
-
Donny Wals has also has several posts connected to Combine. This is a great place to get an overview, then it's possible to cherry pick individual topics on this page.
-
John Sundell has a nice discovery page covering a lot of interesting topics around Combine.
If you're wondering about how to combine all of these frameworks / techniques in an app, you can check this repository. The files you want to check can be found in the folder Classes/Wishlist
.