Fully updated for Xcode 11.2
I’m not going to claim this was an easy project, particularly because SwiftUI forces us to think in such a different way from UIKit. Not only do we have the declarative, reactive approach to logic, but we also have
@State, environment objects, two-way bindings, and more to deal with – it’s a combination of powerful new Swift language features in tandem with a whole new UI framework.
In this project I’ve tried to expose you to a number of different things all at once, including lists, stacks, forms, navigation, alerts, and more. Even then there’s still a lot more to cover, but even at this early juncture it seems clear to me the goal isn’t to build all apps with SwiftUI: Apple is shipping only a subset of the functionality we need so it has time to bed in before they start adding more.
So, as great as SwiftUI was this year, you should expect to see even more out of WWDC20!
One of the best ways to learn is to write your own code as often as possible, so here are three ways you should try your new knowledge to make sure you fully understand what’s going on:
CheckoutView, with the options “Now”, “Tonight”, and “Tomorrow Morning”.
ItemDetailand a Favorites tab showing them all.
LEARN SWIFTUI FOR FREE I have a massive, free SwiftUI video collection on YouTube teaching you how to build complete apps with SwiftUI – check it out!