SwiftUI
A deep dive into getting started with SwiftUI. This course will cover the basics to get you off the ground running before moving on to create SwiftUI interfaces that seamlessly integrate alongside UIKit. You'll cover SwiftUI components, accessibility as well as the new layout system to create a completed app at the end of the course. By Avi Gray.
Who is this for?
This course is for iOS developers who have experience building user interfaces with storyboards and know the basics of Auto Layout.
Covered concepts
- Learn the basic components of SwiftUI
- Learn how to build interfaces in a data-driven, declarative way
- Learn the differences between UIKit and SwiftUI
- Learn how to phase existing UIKit applications into using SwiftUI
- Learn how to build interfaces interactively with Live Update
- Learn to use documentation efficiently and effectively: An essential skill when working with Beta Tools.
- Build an app that goes from simple components to complex interfaces that are animated and look great on all devices
Part 1: SwiftUI Views
Welcome to the SwiftUI course. In this section you're going to learn the basics of building out interfaces using SwiftUI.
In this episode you'll get familiar with what SwiftUI is and how it will help you as a developer in your day-to-day life when building out user interfaces.
In this episode you'll start to work with SwiftUI's View protocol as well as learn why we no longer need UIViewControllers.
In this episode you'll begin working with the Text component as well as altering its appearance using Modifiers.
In this episode you'll apply more styling to your components and experience live rendering in the canvas.
In this episode you'll get familiar with SwiftUI's Image component and how to create the style you want with its modifiers.
Button is a fantastic component in terms of what's changed from UIKit. Here, you'll get familiar with the much more flexible Button component.
Working with documentation is an absolutely vital skill to learn. In this episode you'll learn how to access it in several forms depending on what you need.
Slider and Stepper components are great tools for gathering info from users. Here you'll get them working along with some bindings to store that data.
The DataPicker and Toggle components should be familiar from UIKit. In this episode you'll learn how they translate to SwiftUI.
Congratulations! You completed the first section of this course. You've learned so much! Now its time to move onto the next section to learn more about SwiftUI.
Part 2: Building Interfaces with Container Views
In this part of the course, you'll learn more about combining your knowledge to make even more interesting user interfaces.
Stacks are incredible tools for combining components. They come in 3 forms depending on which axis you want to build your UI in.
So far you've worked with basic layouts. In this video we'll cover what's really going on under the hood and how to control your layouts more precisely.
ForEach makes it a breeze when iterating over a collection of data to produce similar SwiftUI Views. All you need is a unique ID for each element.
SwiftUI has changed how you'll work with lists of repeated views, similar to UITableViews. Here you'll cover how to get started.
When you want to create more advanced layouts similar to UICollectionViews in SwiftUI, ScrollViews and Stacks are there to help.
Navigating from one part of your app to another has never been easier thanks the Navigation component. Here you'll get started with moving around your apps.
TabViews are SwiftUI's answer to the UITabBarController from UIKit. It is so easy to get started with and customise to get the result you want.
You've finished the second section of the course, and are now ready to get your hands on binding your own models to your views!
Part 3: Binding Data to Views & Accessibility
In this section, get started with understanding binding data to SwiftUI views. You'll cover state, custom models and ways to pass a model app-wide.
Take a deep-dive into what's going on with the state attribute and how it operates under the hood when binding to your components.
Learn about binding custom models to your components as well as passing state through layers of the UI hierarchy.
Drawing your own custom views and shapes is so much fun with SwiftUI! Learn how to do so using the device's screen dimensions to create scalable results.
Learn about the Environment, an incredibly powerful feature in SwiftUI allowing you to gather important information about where your app is running, as well as respond.
Refactor an app to be more accessible and support users who rely on assistive technologies such as VoiceOver.
Continue to make your app even more accessible for users who'll be interacting with your app using assistive technologies.
Amazing work! You've learned so much about binding data and accessibility. In the next section, learn how to put it all together.
Part 4: Integrating with UIKit & Putting it All Together
In this section, take all of the SwiftUI skills you've learned and put them together to build out CatKit!
Build a state-driven social media feature for cats to browse the local news. They'll be able to like and share posts for others!
Add features to the news list to allow cats to react to each post and filter them as a result.
Work with bindings to create a model that can be shared across multiple Views to allow cats to monitor their human 'pets'.
Create a stunning UI for cats to monitor the mood of their human 'pets' and keep and eye on them using awesome animations!
Learn how to add new SwiftUI Views to your existing UIKit applications that support iOS 13 and above.
Learn how to add some new UIKit features to your existing SwiftUI application.
Add a UIPageController to a SwiftUI application and put all of the pieces together to get both UI frameworks working in tandem.
Congrats on finishing the course! Have fun implementing SwiftUI in your UIKit apps or in new applications. Here, find out other resources to check out.