Programming macOS Apps Using SwiftUI
Project Based Learning
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.
Menu Bar Apps:
You will also learn how to create macOS Menu Bar Stocks application.
Additional Benefits
- Quarterly Live Q&A Sessions
- Private Community Access
- Early Access and Discounts on all Future Courses
Course Overview video
Curriculum
- What we will be building? (2:38)
- Setting Up the App UI Structure Using Two Column Layout (7:15)
- Creating the Core Data Model (8:09)
- Implementing CoreDataManager (4:39)
- Adding AddNewListViewModel (5:11)
- Implementing BaseModel Protocol (4:25)
- Designing AddNewListView (15:40)
- Implementing NSColorTransformer to Save Transformable Type NSColor (4:07)
- Registering NSColorTransformer (2:11)
- Implementing MyListsViewModel (13:45)
- Displaying Lists on the Screen (11:02)
- Deleting Lists (8:36)
- Adding List Items Core Data Relationship in Core Data Model (7:52)
- Implementing MyListItemsHeaderView and MyListItemsView (7:06)
- Implementing MyListItemViewModel (11:41)
- Adding AddNewListItemView (11:58)
- Saving List Item (10:19)
- Displaying List Items (7:07)
- Implementing ListItemCell (11:02)
- Deleting List Items (6:48)
- Updating List Items (21:53)
- Observing NSNotification ManagedObjectContextObjectsDidChange (7:05)
- Implementing Marking Item for Completion (8:54)
- Implementing Delay (6:04)
- Displaying List Item Count (8:31)
- Displaying Default List (2:31)
- What we will be building? (2:22)
- Setting Up Two Column Structure (5:07)
- Fetching Stocks from JSON API (7:07)
- Setting Global State and Implementing StockListViewModel (9:30)
- Displaying Stocks (12:25)
- Styling Stocks Display (11:53)
- Fetching and Displaying Stocks at Regular Intervals (3:51)
- Searching Stocks (2:55)
Testimonials
I like how Mr. Azam points out how to fix certain error conditions that are likely to occur while entering his code. I found his implementation of the Core Data Model and the MVVM design pattern for the Reminders app very instructive. I consider myself an intermediate Swift programmer and I have learned much after only the first (Reminders) app in this course.
- Michael King
One of the few courses about macOS programming. Very comprehensive and practical.
- Sven Richter
Every student has their own unique way of understanding just like every teacher has their own unique way of explaining. I didn't know I was looking for Mohammad's tutorial. Thank you.
- Metin Demirel
Frequently Asked Questions
What will students learn in your course?
This course delves into creating macOS apps using SwiftUI while emphasizing the MVVM Design Pattern. It covers persisting data via Core Data into SQLite databases and consuming JSON APIs across multiple services. Additionally, it teaches how to display maps, navigation routes, direction overlays, and even creating Menu Bar Apps tailored for macOS environments.
Who is this course for?
This course caters to developers seeking to transition skills from iOS to macOS platforms. It's designed for those aiming to master SwiftUI for building expansive applications and for developers aspiring to advance to senior roles through learning advanced app development techniques.
What is your refund policy?
Our 14-day refund policy ensures your satisfaction with your purchase. If you are not completely happy with your product or service, you have a two-week window to request a refund. This policy gives you peace of mind, allowing you to explore our offerings risk-free, and it reflects our commitment to providing you with a positive experience. We are here to assist you in any way possible to ensure your needs are met.
Mohammad Azam
Mohammad Azam is a highly experienced and accomplished developer with over a decade of professional experience in writing software. He has played an integral role in the success of several Fortune 500 companies including Valic, AIG, Dell, Baker Hughes, and Blinds.com, where he served as a lead mobile developer.
Azam's expertise has helped him become a top instructor on both Udemy and LinkedIn, with more than 70K students enrolled in his courses. He currently serves as a lead instructor at DigitalCrafts, a software bootcamp where he trains developers who now work at prestigious companies like Apple, JP Morgan Chase, and Exxon.
Azam is not only a developer and instructor but also an international speaker who has been sharing his knowledge and expertise since 2006. In his free time, he enjoys exercising and planning his next adventure to explore the unknown corners of the world.
Single-Course License
$49
Full access to this course only
This is a one-time payment that grants access to this course only, not to any other courses.
Buy NowAzamSharp Pro Membership
$29 /Month
Unlimited access to this and all other current & future courses
This is a recurring payment, charged automatically on a monthly basis.
Become a Pro