Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2021-03-03 05:32:16
30-Day Money-Back Guarantee
Development Mobile Development SwiftUI

MVVM Design Pattern in iOS Using SwiftUI

Covers consuming JSON, Client-Server MVVM architecture, Screen-View Pattern
Rating: 4.5 out of 54.5 (76 ratings)
555 students
Created by Mohammad Azam
Last updated 10/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Understanding the MVVM design pattern
  • Consuming a JSON API in SwiftUI application
  • Building SwiftUI applications using MVVM design pattern
  • Building server using NodeJS, ExpressJS using JavaScript

Course content

12 sections • 62 lectures • 5h 49m total length

  • Preview03:18
  • Preview01:36
  • Exercise Files
    00:52

  • Preview01:12
  • Preview02:41
  • Preview02:32
  • MVVM Architecture and Web APIs
    01:42
  • Difference Between View Model and Model
    00:11

  • Understanding the App
    00:48
  • Preview03:39
  • Preview04:16
  • Creating the View Model
    07:39
  • Preview05:11
  • Adding Business Rules to the Model
    06:06

  • What are we building?
    01:16
  • Registering OMDB Account
    02:27
  • Understanding the OMDB API
    04:26
  • Understanding the App Architecture
    03:41
  • Understanding the Starter Project
    05:15
  • Resources: URLImage and Rating View in SwiftUI
    00:09

  • Implementing Model
    06:51
  • Implementing HTTP Client
    08:02
  • Testing HTTP Client
    04:30
  • Refactoring HTTP Client
    03:13

  • Implementing MovieListViewModel
    09:03
  • Populating Movies in List
    10:28
  • Searching Movies by Name
    04:51
  • Adding LoadingState to Conditionally Render Views
    13:43

  • Implementing MovieDetail Model
    03:46
  • Implementing getMovieDetail HTTPClient End Point
    03:55
  • Implementing MovieDetailViewModel
    05:50
  • Populating MovieDetailScreen
    08:09

  • Prerequisites
    00:59
  • What we will be building?
    01:21
  • Exercise Files
    01:43
  • IMPORTANT: Architecture Overview
    04:55
  • Glitch Server (NodeJS and Express)
    05:18
  • IMPORTANT: Waking Up Glitch Server
    00:20

  • Returning All Accounts from the Server
    06:37
  • Implementing Account Service to Get All Accounts
    09:17
  • Creating AccountSummaryViewModel and AccountViewModel
    11:27
  • Displaying Accounts
    12:32
  • Refactoring AccountListView and Toggle Total
    07:49

  • Understanding the Business Rules for Account Creation
    01:20
  • Implementing Create Account NodeJS and Express End Point
    07:26
  • Creating Domain Account Objects
    15:23
  • Implementing Account Service Create Account Function
    08:24
  • Implementing AddAccountViewModel and UI Validation
    09:01
  • Implementing AddAccountScreen
    15:08
  • Refreshing Account List and Displaying Error Messages
    05:32

Requirements

  • Swift Language Knowledge is recommended
  • SwiftUI knowledge is recommended
  • NodeJS, ExpressJS and JavaScript is recommended but not required
  • Xcode 11.5 or above

Description

SwiftUI is Apple’s new declarative framework for building applications for any Apple device. Although you can use any design pattern to build your SwiftUI apps, MVVM pattern is preferred due to the declarative nature of the SwiftUI framework.

In this course, you will learn how to build practical real world SwiftUI apps using MVVM Design Pattern. You will also learn how MVVM patterns behave in client/server applications.


What is MVVM Design Pattern?

In this section you will learn the basics of MVVM Design Pattern. You will learn the purpose and need for MVVM and what problems it solves when developing SwiftUI applications.


Getting Started with MVVM in SwiftUI Apps

In this section you will get started with building SwiftUI applications using MVVM framework. We will start slowly by building a simple counter application with some business rules. This section will set the foundation for the rest of the course.


Movies App

The Movies App spans over multiple sections of the course. You will learn how to build a Movie app, which allows you to search movies using OMDB API. The app will showcase how to write a service layer, which fetches JSON from an API. The app will also demonstrate how to show the detail screen of the movie when selected.


Bank App

The Bank App consists of multiple sections of the course. In this section you will be responsible for building the complete backend using NodeJS, ExpressJS and JavaScript hosted on Glitch platform. This app will showcase how MVVM pattern is implemented for SwiftUI app in a distributed environment.


I am super excited for this course and I am 100% confident that you will enjoy the course.


Thanks and happy coding!

Who this course is for:

  • Developers curious about how to build SwiftUI apps using MVVM Design Pattern
  • Developers who wants to create more maintainable SwiftUI applications
  • Developers who wants to create client/server applications in iOS

Instructor

Mohammad Azam
Apple Featured iOS Developer and iOS Instructor
Mohammad Azam
  • 4.5 Instructor Rating
  • 7,072 Reviews
  • 53,139 Students
  • 29 Courses

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.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.