
Explore how SwiftUI serves as Apple's declarative framework for building cross-platform apps across macOS, iOS, iPadOS, and watchOS using a single, expressive syntax.
Explore how to build macOS user interfaces with SwiftUI stacks: VStack, HStack, and ZStack, using frames, spacing, alignment, offsets, rotations, and embedding to arrange and layer views.
Learn how the @State wrapper lets a SwiftUI counter update and re-render the view when the button increments, and why rendering depends on using the value in the user interface.
Explore how to build a color selector in SwiftUI and use @Binding to share the selected color between a child view and its parent, updating a rectangle’s fill.
Use the color scheme environment variable to adapt text for dark or light mode. Observe changes by switching system appearance.
Explore why the model-view-viewmodel pattern promotes clean separation by using a password reset view model that handles username, new password, and confirm password with client-side validation.
Create and configure a core data model for a list, with an entity named my list, requiring a non-optional name and a transformable color, using manual code generation.
Register a core data manager and initialize a shared persistent container using the reminder model, then inject the view context into the environment as the managed object context.
Define a base model protocol to provide save, delete, and get by id for Core Data entities, using a static view context and default implementations for NSManagedObject subclasses.
Register NSColorTransformer by configuring the core data manager to register the transformer before creating the persistent container, enabling color transformation for lists in a macOS SwiftUI app.
Implement deleting a list via a context menu, fetching by managed object id, and using a base model delete function to save changes and refresh.
Define a core data model with my list and my list item entities, add title, is completed, and due date attributes, and establish a two-way cascade relationship to manage items.
Implement the mindless item view model to present core data items with title and due date, and map them to view models for list view with counts and non-completed filtering.
Implement deletion of list items using closures and an on item deleted callback to the parent view model.
Update a list item in a SwiftUI project by editing its title and date via an edit list item view model, calendar button, and popover.
learn to observe core data context changes via the default notification center and managed object context objects did change to refresh the fetch results controller and update list items instantly.
Implement a delay class that schedules work with a configurable seconds value using a dispatch work item on the main thread. Enable undoable completion and cancellation, mirroring macOS reminders.
Set up a macOS SwiftUI project with a two-column layout by creating a maps app structure, including a home screen, a sidebar, and a maps screen.
Create a map view coordinator to handle map events from the map view delegate, update the user location region, and perform animated zoom with latitude and longitude delta values.
Display search results as place annotations on the map and in the sidebar by converting map items into identifiable annotations, then share them through a global app state.
Configure map snapshot options and camera to capture a location, then render the image in the UI. Update the snapshot by selecting left menu items and exploring map types.
SwiftUI was introduced at WWDC 2019 and it has dramatically changed the future direction of iOS, macOS and watchOS applications. SwiftUI provides an easy to use declarative syntax, which allows you to quickly create high performance apps with less code.
In this course, you will learn how to implement macOS applications using SwiftUI framework. This course is a project based course, which means you will learn by building real world applications.
Let’s check out the contents of the course.
Quick Tour of SwiftUI
In this section, you will get a quick tour of SwiftUI framework. This will include different Stack controls, List, Button etc.
State Management in SwiftUI
In this section, you will learn about different state management techniques available in SwiftUI. This includes @State, @Binding, @EnvironmentObject and @Environment.
Understanding MVVM Design Pattern
In this section, you will learn and understand the MVVM Design Pattern. MVVM pattern is the most common pattern used when implementing SwiftUI applications.
Reminders
In this section, you will implement the Reminders application from start to finish. You will use Core Data to persist information into the SQLite database. You will also learn how to set up one-to-many relationships in Core Data.
Maps
In this section, you will implement the Maps application. You will learn how to use NSViewRepresentable to configure and set up maps for macOS applications. You will also learn how to search for close by businesses and display them on the screen. This app also covers how to calculate directions from the user's current location to the destination and how to display an overlay on the map. You will also learn how to implement the preferences screen allowing users to change measurement units.
Stocks
In this section, you will learn how to create the Stocks application using SwiftUI. You will learn how to integrate your app with multiple Web APIs and consume JSON data. The app will also demonstrate how to display graphs and news associated with each stock. You will also learn how to create a lightweight routing engine for your application.
Who is this course for?
Developers interested in expanding their skills from iOS to macOS platforms.
For developers who want to learn about implementing large applications using SwiftUI framework.
Developers who want to move to the senior role by learning advanced techniques for app development.
I had so much fun in creating this course, I consider this to be one of my best courses. Thank you so much for your continuous support. Hope you enjoy the course.