
Master the basics of SwiftUI—from text to colors and images. Build the Hyped List app and fetch JSON asynchronously on iPhone, iPad, Mac, and widgets with Xcode.
Take a tour of Xcode and SwiftUI basics, create a new iOS app, and use the canvas live preview to see text and color changes, switching between previews and simulators.
Discover the SwiftUI structure, where a single app object defines a scene and window group, and views are structs with a body returning other views like text and button.
Learn how modifiers transform SwiftUI views by applying bold, font, color, padding, and corner radius. Build a blue, rounded button with white text and observe modifier order.
Explore HStack and VStack layouts in SwiftUI, learn to nest stacks, use spacers to control alignment and spacing, and discover ZStack for layering text and buttons.
Learn to refactor SwiftUI views by creating reusable subviews, such as a rounded button, pass color and text parameters, and use default values to keep code concise and modular.
Explore SwiftUI previews on the canvas, pinning subviews to see live updates across views, and test layouts on multiple devices using preview group and preview device modifiers.
Explore SwiftUI controls—buttons, sliders, and text fields—bound with @State to variables, enabling live preview and simulator testing, with text updates and placeholders.
Build the hyped list app to track upcoming items with a discover tab, add and edit entries, and save data across iPhone, iPad, Mac, watch, and TV.
Build a SwiftUI tab view with upcoming, discover, and past tabs, and implement create, list, and edit flows in Xcode for a multi-platform app.
Explore how to enhance a SwiftUI tab view with SF Symbols icons, a navigation view title, and a trailing plus button using system names like calendar badge plus.
Attach a sheet to a button in SwiftUI, bind it to a boolean state with isPresented, and present the create hyped event view that dismisses by binding back to false.
Create a hyped event data model in SwiftUI by defining an observable class with date, title, color, and image data, defaulting color to purple, and using a state object.
Build a form-based SwiftUI input for an event using text fields, a date picker, a color picker, and sections binding title, date, color, and website URL to a hyped event.
Design reusable SwiftUI form labels with icons and text. Create a label subview with title, system name, color, and a show time toggle for date or date and time.
Learn how to bridge UIKit and SwiftUI by wrapping a UIKit image picker controller in a SwiftUI view, using a coordinator to manage delegates and updates.
Learn button styles in SwiftUI by building an image picker with sheet dismissal via presentation mode, using bindings and image data to display and remove images.
Create an upcoming view that displays hyped events from a hyped events array using a vstack, with a centered empty state message and a navigation title.
Display a list of hyped events in SwiftUI using ForEach over an identifiable array, assign unique IDs, and wrap a VStack in a ScrollView to enable scrolling.
Design a reusable hyped event tile in swiftui that displays an optional image, a color bar, title, and date-time, with a polished layout featuring rounded corners and a soft shadow.
Create dynamic event tiles by formatting dates as strings with a date formatter. Integrate the Swift date package to show time from now and conditionally display the year.
Explore using a global data controller as an observable store for the hyped events array, updating on create and refreshing the upcoming tab and discover tab.
Learn how to persist hyped events by making the event model codable, encoding to JSON, and saving to user defaults, including color as hex strings and decoding on load.
Encode the hyped events to JSON and save to user defaults on a background queue, then load and decode them on startup to populate the list.
Create a past events tab by reusing the hyped event list view and filter the data controller to separate past from upcoming events, sorting by date.
Set up a simple api to power the discover tab by hosting a central json feed of upcoming events with date, title, url, color, and image data.
Learn to fetch API data in a SwiftUI app by validating JSON, using a latest URL, and decoding it into discover events for the Discover tab via a data controller.
Learn how to download images from URLs in SwiftUI, validate URLs, and populate image data in discover events, then implement a reload button that fetches discover events.
Create a hyped event detail view in SwiftUI that presents event information, opens the URL, and provides add to upcoming list, edit, and delete actions.
Create a reusable SwiftUI button component with customizable background color, image, and text, and conditionally show visit, add, edit, or delete actions for discover and non-discover modes.
Master SwiftUI navigation by wrapping list items in navigation links inside a navigation view, push to detail views, customize back button, and manage discover additions with a data controller.
Implement delete and edit of hyped events in a SwiftUI app by updating the data controller, persisting changes to user defaults, and presenting an edit sheet.
Learn to build iOS 14 widgets with WidgetKit using SwiftUI, add a widget extension, and test home screen widgets for upcoming events in your hyped event app.
Configure a SwiftUI iOS widget by using a timeline entry with a date and ensure target membership includes the widget extension.
Design and preview a SwiftUI widget across small, medium, and large sizes, using conditional logic to handle images, colors, and optional events for a robust, live preview workflow.
Design a responsive widget by layering a resizable background image with overlaid text, applying a translucent overlay for readability, and resizing fonts for small, medium, and large widgets.
Implement placeholders, snapshots, and timelines in a SwiftUI widget by wiring app groups and shared user defaults to show and refresh upcoming hyped events.
Discover how to adapt an iPhone app for iPad using SwiftUI size classes, via a main view that uses an environment horizontal size class to switch compact and regular layouts.
Build a SwiftUI 2.0 sidebar for iPad and Mac using a navigation view and sidebar list style. Provide links for upcoming, discover, and past with an overlay to create events.
Improve the detail view in SwiftUI by syncing deletions with the list, adapting iPad layouts with size classes, and implementing compact and regular views with horizontal buttons.
Learn to add a bundled watchOS target to a SwiftUI project, create a hyped events watch list view, and handle platform-specific code with conditional compilation for watchOS.
Design a dynamic SwiftUI list of hyped events, showing colored cards, time, and titles; implement an extension to determine dark colors for readable text and adapt UI for empty states.
Explore how the iOS app uses watch connectivity to send context updates of upcoming hyped events to the Apple Watch, using a shared data controller and encoded context.
Build a watch to phone data controller as an observable object in SwiftUI, decode did receive application context into hyped events, and publish updates to the hyped events list.
Learn to implement watch-to-phone data exchange using messages with a reply handler, decode context, and persist hyped events via user defaults for reliable reload.
Learn to build macOS apps with SwiftUI on Big Sur, configuring a macOS target in Xcode beta and adapting iOS UI patterns to Mac, including colors, images, and sidebar design.
Explore debugging a SwiftUI app for macOS by using OS checks to render macOS-specific views like the hyped event list and sidebar, fixing navigation and data flow.
Explore Mac design considerations in SwiftUI by setting minimum width and height, applying plain button style to create and manage events, and optimizing discover and hyped event views for Mac.
Refactor the create view into a leading-aligned VStack, replacing scroll and form with streamlined controls, add date and color pickers, and include cancel and done actions with a keyboard shortcut.
Fix color and layout issues by adjusting padding, adding spacing, and applying a plain button style with a blue foreground for a cleaner cross-device macOS and iOS UI.
Create macOS widgets in Big Sur by adding a macOS widget extension and reusing the iOS widget, configure app groups, and preview a timeline of upcoming items.
Build and test a tvOS target for the hype list app, configure signing, and adapt a hyped event list view for tvOS with Apple TV remote navigation and input handling.
Rework the tv interface by using a tab view for upcoming, discovered, and past hyped events, wired to a data controller with on-appear loading.
Design a custom TV tile view for hyped events in SwiftUI 2.0, integrating assets, colors, and layout adjustments for TV discovery.
Refine the SwiftUI interface with a plain button style, tile colors, and adjusted spacing and radii. Add a long-press context menu to discover, upcoming, or past lists, with duplicate prevention.
Celebrate SwiftUI’s cross-platform reuse across iPhone, iPad, Mac, watch, and TV, while noting platform-specific tweaks and thoughtful user experience.
This one is SO much fun. We're gonna start by learning the basics of SwiftUI and then using it to the fullest extent! We're creating an app called HypedList first for the iPhone, and then for the iPad, Apple Watch, Mac Computer, and finally the Apple TV. Yes! ALL THE APPLE PLATFORMS. We'll even be creating widgets that run on iOS and macOS.
You'll get to learn the true magic of SwiftUI as we get to reuse a size-able chunk of our codebase across each platform. And, you'll see how to craft your apps for each platform to truly take advantage of each device to thrill your users.
Get an idea of what the course is all about by watching the promo video and using the free previews.