Programming macOS Using SwiftUI - Project Based Learning
What you'll learn
- Building macOS applications using SwiftUI
- MVVM Design Pattern for SwiftUI applications
- Persisting using Core Data to SQLite database
- Consuming JSON API through multiple services
- Displaying maps, navigation routes and directions overlay
- Some knowledge of SwiftUI framework is recommended
- Understanding of iOS framework and architecture
- Understanding of AppKit architecture, including NSViews and View Controllers
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.
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.
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.
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.
Who this course is 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.
My name is Mohammad Azam and I have been programming in iOS for the last 10+ years. Currently, I am teaching Full Stack Development at DigitalCrafts. Before joining DigitalCrafts I worked as a lead mobile developer for many large companies including Schlumberger, Baker Hughes, AIG and Valic. Currently, I am a senior developer at Blinds Dot Com, a Home Depot company. Before iPhone development I was leading projects in Microsoft ASP technology. I was also awarded the Microsoft MVP award five years in a row due to my contributions in the community.
I have also published several of my personal apps to the App Store including Vegetable Tree which was featured by Apple as the most beautiful gardening app on the App Store. I am a frequent speaker at local and national conferences and have authored many articles for many different development magazines.
Hi! I'm Nick, and I love to code. About five years ago I decided that I wanted to learn to code, but I had limited access to programming resources, and I was getting frustrated with all of the YouTube videos and online tutorials out there. I experimented, struggled, and definitely failed a lot, but I finally got the hang of it, so I decided that I wanted to change the way that people learned to code, and I started teaching. My experience as an online student has directly influenced my teaching style, because I know what it is like to be in your shoes.
Apple announced their new programming language, Swift, in 2014, I made my big online teaching debut and created the
internet's first Swift course. Since that time, I have
become a full-time online instructor and I now have courses not only in Swift,
but also in iOS, Android, Django, Kotlin, Python, HTML, Blockchain, etc. I have also created five iOS apps from scratch that are currently live in the App Store and are being used by thousands of users worldwide.
I love sharing my excitement for coding with my students, and I try to make learning as fun and as easy as possible. Thanks for being part of my coding community!