
Learn to access exercise files via the results tab, download individual files, and use the resources to grab the complete project.
Discover how redux acts as a global state container that lets multiple views share and react to the is authenticated property, avoiding messy data passing through view hierarchies with subscriptions.
Represent app state as a global state or slices like a movie state; dispatch fetch or set movies actions, and reducer updates slice with payloads or handles increment actions.
Learn how to connect a global store to a SwiftUI view by mapping global state to local props, injecting an environment object, and dispatching actions to update the counter.
Review the starter project for a redux-style swiftui app, examining the store, middleware, state, and reducers, plus extensions, views, and loaders, and plan the web service to fetch movies.
Create a fetch movies action with a search field and a movies middleware that url-encodes the search, calls the web service, and dispatches set movies on success.
Learn to map global movie state to local props using a mapStateToProps function, access the store via the environment object, and dispatch fetch movies by keyword.
Implement get movie details by IMDb id, fetch with URLSession, decode to movie detail, and return via completion; have middleware fetch and set the selected movie detail.
Create actions and extend middleware to fetch movie details by IMDb ID, update selected movie detail in state via the reducer, and enable list page to details page transition.
Explore the restroom finder app, listing nearby restrooms based on your location, with live updates when you change location and a directions button opening Apple maps.
Explore how the Refuge Restrooms API delivers by location restroom data through get requests, returning name, accessibility, changing table, comments, and distance for lat/long queries.
Examine the starter project with extensions, a hello redux setup, and scaffolded folders, and prepare to implement location-based restrooms search by configuring the store, reducer, and info.plist.
Create a restroom state in the app state, with a restrooms reducer and actions for fetch by latitude and longitude, setting restrooms, and a middleware to fetch from web service.
Implement the restrooms middleware to call the web service using location manager to obtain latitude and longitude, fetch restrooms, and dispatch actions that update the global state via the reducer.
SwiftUI applications can be implemented using several different design patterns. The two most common patterns are MVVM and Redux. In this course, you are going to learn how to get started with using the Redux design pattern in your SwiftUI applications.
Requirements
Knowledge of Swift Language
Knowledge of SwiftUI Framework
No paid software is required. All apps are created using Xcode.
Understanding Redux:
In this section, you will learn different components of the Redux design pattern. You will start by learning about the Redux store and how reducers can access and update the store. You will also learn about state and storing state in smaller slices of the global state. Next, you will learn about actions and how actions can be dispatched from the store and carry a payload. Finally, you will learn about middleware and how middleware can be used to perform an async request.
Hello Redux
In this section, you will learn how to integrate Redux with SwiftUI application. You will build a small counter application and exercise all components of Redux including store, reducer, action and mapStateToProps.
Combining Reducers - Multiple Reducers
In this section, you will learn how to combine multiple reducers into one root reducers. Dividing reducers helps you to clean code and not end up with one massive reducer.
Middleware
In this section, you will learn how to implement a middleware. Middleware can be used to perform asynchronous requests and pass the result of the request to the reducer by dispatching an action.
Movies App
In this section, you will learn how to build a complete Movies App using Redux Design Pattern with SwiftUI. You will learn how to implement middleware to consume a third party OMDB API. You will also learn how to display images and ratings using provided URLImage and RatingView views. You will also implement the details screen, which will allow you to fetch movie details.
Don’t take my word for it, check out reviews from my other courses.
It is amazing, not only is it clear but it clarifies all my unanswered questions. It's hard to find someone who has a well detailed swift DS & Algo class. This is a gem. Thank you Mohammad Azam
This course provides a bundle of resources on Swift UI. Great explanation, building different apps and addition of latest updates makes it a five star course. Thanks Mohammad for you valuable work on providing this course.
Mohammad's courses are usually outstanding, but he has put in a great amount of detail into this course. He provides great detail in his explanations. If you have never parsed JSON and are looking to learn about MVVM design I would highly recommend this course.
Very elegant course. Well scaffolded. Each section is very focused on a single task. One pet peeve I have of Udemy courses is when an instructor teaches a new skill but nest it inside a project that does 10 other things. This is the second course I've had with this instructor and both are excellent. Highly recommended.
After completing this course, you will be ready to build your next SwiftUI application using Redux Design Pattern.
Thanks and happy coding!
Azam