We may earn an affiliate commission when you visit our partners.
Course image
Mohammad Azam

Are you interested in learning how to write iOS apps using MVVM design pattern?

Read more

Are you interested in learning how to write iOS apps using MVVM design pattern?

MVVM design pattern allows you to develop applications that are easily maintainable and testable, and now you can learn it from the comfort of your home.. in your own time.. without having to attend class.

My name is Mohammad Azam and I am the creator of many popular online courses including Mastering MapKit in iOS Using Swift and Creating Stickers and iMessages Applications in iOS 10 Using Swift 3, Mastering Micro Services Using JPA, Mastering Server Side Swift Using Vapor, Mastering ARKit for iOS, Mastering Core ML for iOS and more.

I have created over 2 dozens apps and some of my apps were even featured by Apple on the App Store. I have worked with fortune 500 companies as a lead iOS developer and helped them grow their business ten folds.

What’s stopping you from signing up to today?

  • You don't have enough time: Not a problem at all. We have designed the course so you can learn everything you need to know in less than 4 hours. In fact if you think that the course fell short on delivering topics then we will give you your

Here are some of the reviews from our previous courses:

"His course is AWESOME very detail instructions."

"Mohammad Azam has an excellent teaching style which makes it easy & fun to comprehend these Swift features in such a short course & he explains the concepts in more detail & clarity than most instructors. Plus, his videos are well prepared & he's very articulate. I hope he will create more courses."

"Excellent teaching. Just perfect. "

Buy this course today and this is what you’ll get.

I will show you how to use MVVM design pattern to build your iOS applications. I will start from the very beginning covering the basics of MVVM design pattern and then dive into advanced concepts like live binding. I will also demonstrate how to implement a web services layer and create a complete app from scratch using MVVM design pattern.

The course is accompanied with all the code sample files.

You will also receive a I am very active on forums and make sure that every questions is answered.

Can you believe you get all this (and more) for just $195?

"Awesome class for really learning how to setup and implement MapKit in your iOS apps using swift. Def. one of the best classes I've taken on Udemy. Looking forward to more classes offered by Mohammad Azam. A++ class"

Why learn MVVM?

  • MVVM is the next step towards the future of apps. MVVM allows you to create apps that are easily maintainable and testable.

  • MVVM allows iOS developers to use their existing skills to create amazing iOS applications.

  • As the application grows MVVM design allows the developers break the app into smaller components.

Who is this for?

This course is for anyone who wants to take their skills to the next level. MVVM design pattern is an old pattern but it is relatively new in the iOS community. MVVM iOS applications can also help you to earn higher salary since now you know how to write a complete apps which can be tested and updated easily through the use of MVVM design principles.

Is this course right for me?

Look: if you are still not convinced then I urge you to check out my 5 star reviews in other courses. I am a well known developer in the iOS community with a large following. I do a lot of speaking engagements in which I spread knowledge and education.

If you are not satisfied with the course then I offer a 100% REFUND. I am confident that you will enjoy the course and you will utilize the knowledge you learned in this course in your future applications.

What are the requirements?

  • A Mac Computer

  • Xcode 10 or above

  • iOS 12 or above

  • Basic understanding of the Swift language and the iOS SDK - I'll teach you everything you need to know about MVVM.

What am I going to get from this course?

  • Create amazing iOS apps using MVVM design pattern

  • Take your existing iOS skills to the next level

  • Become a professional app developer, take freelance gigs and work from anywhere in the world

  • Bored with the same old, same old? Apply for a new job in a software company as an iOS developer

Enroll now

What's inside

Learning objectives

  • Have a deeper understanding of good ios architecture apps
  • Build ios applications using mvvm design pattern

Syllabus

Introduction

In this lecture, Mohammad Azam will introduce the contents of the course.   

In this lecture, Mohammad Azam will explain the MVC architecture. MVC pattern is the default pattern used by iOS to create applications. 

Read more

In this lecture Mohammad Azam will cover the opinionated downsides of MVC design pattern. 

In this lecture, Mohammad Azam will explain the concept behind MVVM pattern. Azam will explain that although there is nothing wrong with MVC architecture, MVVM can help to better break apps into smaller pieces. 

Building News App Using MVVM Design Pattern
What we will be building
Registering on NewsAPI Service
Setting Up the User Interface
Implementing Web Service
Creating and Decoding JSON to Models
Implementing View Models
Creating Custom Self Sizing Cells
Displaying News
Building Coffee Ordering App Using MVVM Design Pattern
What we will be building?
UPDATED: Coffee Ordering API
Creating the User Interface
Creating the Add New Order Interface
Testing the Web API Using Postman
Implementing Webservice Client
Creating Models
Testing Webservice Client
Displaying Orders in UITableView
Populating Types of Coffee
Populating Cup Sizes Using View Model
Adding Checkmark for Selected Cells
Populating AddCoffeeOrderViewModel
Populating Model Using View Model
Implementing the Resource for Creating New Orders
Updating Webservice to Add Post
Adding New Orders to UITableView Using Delegates
Displaying All Orders on the Screen
Understanding the Structure of GoodWeather App

In this lecture, Mohammad Azam will showcase the Weather App you will be building in the course. After watching this video you will have a better idea of the structure of the course and what you will be building.

In this video, Mohammad Azam will explain the purpose and structure of the weather list screen. The weather list screen is using the MVVM design pattern. Azam will explain how the screen is mapped to the MVVM structure.

In this video, Mohammad Azam will explain the structure of the Add Weather Screen. The add weather screen allows the user to add the city whose weather is calculated using the openweathermap API.

In this video, Mohammad Azam will explain the settings screen and talk about the MVVM design pattern behind the structure of the settings screen.

Implementing User Interface for GoodWeather App

In this lecture, Mohammad Azam will explain how to setup the view controllers of the app. Azam will explain and setup the basic flow of the application using Storyboards.

In this lecture, Mohammad Azam will explain how to set a common appearance of the app using the appearance API. Azam will explain how to theme your controls so they look same in the whole app.

In this lecture, Mohammad Azam will populate the weather list UITableView control with hard coded data. This is done just to visualize how the app will look when it will be populated with actual data. 

In this lecture, Mohammad Azam will demonstrate how to design the add weather screen of the app. The add weather screen of our MVVM app is the simplest screen in the app which consists of a single UITextField.

Implementing Web Services Layer
OpenWeatherMap API
Implementing WebService Service
Testing the Webservice Class
Building ViewModels and Populating View Models
Implementing Models
Decoding JSON into Models
Implementing AddWeatherViewModel
Passing WeatherViewModel back to the WeatherListTableViewController
Displaying Weather on Screen
Settings Screen to Change Temperature Unit
Understanding the Starter Project
Implementing SettingsViewModel
Displaying Temperature Units on Settings Screen
Selecting and Deselecting a Temperature Unit
Implementing SettingsDelegate
Switching Between Temperature Units
Fixing the Temperature Unit Issue
Bindings
What are bindings?
View to ViewModel Binding
ViewModel to View Binding
Unit Testing

In this lecture, Mohammad Azam will explain the purpose of unit testing. Azam will explain how unit testing can benefit your application and how it can help to catch problems early.

In this lecture, Mohammad Azam will explain how to setup your project. Azam will demonstrate how to add a unit testing project to your existing application.

In this lecture, Mohammad Azam will implement our first unit test. Azam will explain how to get started with unit test and how to use TDD (Test Driven Development) to write your unit tests.

In this lecture, Mohammad Azam will demonstrate how to refactor your unit tests. Azam will introduce the concept of setUp and tearDown methods and how they can be used to write better, cleaner unit tests.

Unit Testing View Models
Setting Up the Project for Unit Testing
Writing Unit Tests for SettingViewModel
Writing Unit Tests for WeatherListViewModel
Conclusion

In this lecture, Mohammad Azam will talk about the next steps students can take to take their skills further and learn more about MVVM in iOS. 

Bonus Lecture

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches MVVM design pattern, which is an industry standard in iOS development
Taught by Mohammad Azam, who is recognized or their work in iOS development
Develops valuable skills for working in the iOS development industry
Includes a mix of media, such as videos, discussions, and hands-on labs
Students require extensive background knowledge to complete the course

Save this course

Save MVVM Design Pattern Using Swift in iOS to your list so you can find it easily later:
Save

Reviews summary

Mvvm in ios for beginners

According to students, this course is great for beginners who are interested in learning about the MVVM design pattern in iOS. The course's two modules on generic table data source and unit testing are helpful additions.
Helpful extra modules.
"Big Thank for the last two sections i.e. Generic Table data source and Unit testing."
Great for those new to MVVM.
"Amazing course for beginners who wants to learn MVVM architecture in iOS."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in MVVM Design Pattern Using Swift in iOS with these activities:
Review MVVM Architecture Fundamentals
Brush up on the core concepts of MVVM architecture to strengthen your understanding before diving into the course.
Browse courses on MVVM
Show steps
  • Read online articles and tutorials on MVVM
  • Review introductory videos or webinars on MVVM concepts
Create a Resource Folder for MVVM
Organize your learning materials to improve retention and easy access.
Show steps
  • Create a dedicated folder for MVVM-related materials
  • Store notes, code snippets, and resources in the folder
Implement MVVM in a Simple iOS App
Reinforce your understanding by implementing MVVM principles in a basic iOS application.
Browse courses on iOS Development
Show steps
  • Create a new Xcode project
  • Design the UI using SwiftUI or UIKit
  • Implement MVVM architecture patterns
  • Build and test the app
Two other activities
Expand to see all activities and additional details
Show all five activities
Join a Study Group or Mentor Junior iOS Developers
Solidify your understanding by mentoring others and engaging in discussions about MVVM with peers or junior developers.
Browse courses on Knowledge Sharing
Show steps
  • Join online forums or communities dedicated to iOS development
  • Answer questions and provide guidance to fellow developers
  • Organize or participate in study groups focused on MVVM
Create a Blog Post on MVVM for iOS
Enhance your understanding and share your knowledge by writing a blog post that explains MVVM concepts and your experiences with it.
Browse courses on Technical Writing
Show steps
  • Plan the structure and content of your blog post
  • Write about the benefits and challenges of MVVM
  • Share code examples and best practices
  • Proofread and publish your blog post

Career center

Learners who complete MVVM Design Pattern Using Swift in iOS will develop knowledge and skills that may be useful to these careers:
iOS Developer
iOS Developers are in great demand as the number of mobile apps continues to grow. An iOS Developer can work on a variety of projects, such as games, productivity apps, and social media apps. This course may be useful for someone who wants to become an iOS Developer because it teaches the MVVM design pattern, which is a common design pattern used in iOS development. By learning the MVVM design pattern, you can build iOS apps that are more maintainable and easier to test.
Software Architect
Software Architects design and develop software systems. They work with stakeholders to gather requirements, and then they design and implement software systems that meet those requirements. This course may be useful for someone who wants to become a Software Architect because it teaches the MVVM design pattern, which is a common design pattern used in software development. By learning the MVVM design pattern, you can design software systems that are more maintainable and easier to test.
Machine Learning Engineer
Machine Learning Engineers develop and implement machine learning models. They work with stakeholders to gather data, and then they develop and implement machine learning models that can learn from data and make predictions. This course may be useful for someone who wants to become a Machine Learning Engineer because it teaches the MVVM design pattern, which is a common design pattern used in machine learning. By learning the MVVM design pattern, you can design machine learning projects that are more maintainable and easier to test.
Business Analyst
Business Analysts analyze business processes and make recommendations for improvements. They work with stakeholders to gather requirements, and then they analyze business processes to find areas for improvement. This course may be useful for someone who wants to become a Business Analyst because it teaches the MVVM design pattern, which is a common design pattern used in business analysis. By learning the MVVM design pattern, you can design business processes that are more maintainable and easier to test.
Database Administrator
Database Administrators manage databases. They work with stakeholders to gather requirements, and then they manage databases that meet those requirements. This course may be useful for someone who wants to become a Database Administrator because it teaches the MVVM design pattern, which is a common design pattern used in database administration. By learning the MVVM design pattern, you can design databases that are more maintainable and easier to test.
IT Consultant
IT Consultants provide IT consulting services to businesses. They work with stakeholders to identify IT needs, and then they provide IT consulting services that meet those needs. This course may be useful for someone who wants to become an IT Consultant because it teaches the MVVM design pattern, which is a common design pattern used in IT consulting. By learning the MVVM design pattern, you can design IT consulting services that are more maintainable and easier to test.
Web Developer
Web Developers design and develop websites. They work with stakeholders to gather requirements, and then they design and implement websites that meet those requirements. This course may be useful for someone who wants to become a Web Developer because it teaches the MVVM design pattern, which is a common design pattern used in web development. By learning the MVVM design pattern, you can design websites that are more maintainable and easier to test.
Project Manager
Project Managers plan and execute projects. They work with stakeholders to gather requirements, and then they plan and execute projects that meet those requirements. This course may be useful for someone who wants to become a Project Manager because it teaches the MVVM design pattern, which is a common design pattern used in project management. By learning the MVVM design pattern, you can design projects that are more maintainable and easier to test.
Technical Writer
Technical Writers write documentation for software and other technical products. They work with stakeholders to gather requirements, and then they write documentation that meets those requirements. This course may be useful for someone who wants to become a Technical Writer because it teaches the MVVM design pattern, which is a common design pattern used in technical writing. By learning the MVVM design pattern, you can design documentation that is more maintainable and easier to test.
UX Designer
UX Designers design the user experience of products. They work with stakeholders to gather requirements, and then they design products that are easy to use and enjoyable to use. This course may be useful for someone who wants to become a UX Designer because it teaches the MVVM design pattern, which is a common design pattern used in UX design. By learning the MVVM design pattern, you can design products that are more maintainable and easier to test.
Systems Analyst
Systems Analysts analyze business processes and make recommendations for improvements. They work with stakeholders to gather requirements, and then they analyze business processes to find areas for improvement. This course may be useful for someone who wants to become a Systems Analyst because it teaches the MVVM design pattern, which is a common design pattern used in systems analysis. By learning the MVVM design pattern, you can design systems that are more maintainable and easier to test.
Software Tester
Software Testers test software to ensure that it meets requirements. They work with stakeholders to gather requirements, and then they test software to ensure that it meets those requirements. This course may be useful for someone who wants to become a Software Tester because it teaches the MVVM design pattern, which is a common design pattern used in software testing. By learning the MVVM design pattern, you can design software that is more maintainable and easier to test.
Quality Assurance Analyst
Quality Assurance Analysts test software to ensure that it meets requirements. They work with stakeholders to gather requirements, and then they test software to ensure that it meets those requirements. This course may be useful for someone who wants to become a Quality Assurance Analyst because it teaches the MVVM design pattern, which is a common design pattern used in quality assurance. By learning the MVVM design pattern, you can design software that is more maintainable and easier to test.
Product Manager
Product Managers are responsible for the development and launch of new products. They work with stakeholders to gather requirements, and then they develop and launch products that meet those requirements. This course may be useful for someone who wants to become a Product Manager because it teaches the MVVM design pattern, which is a common design pattern used in product development. By learning the MVVM design pattern, you can design products that are more maintainable and easier to test.
Data Scientist
Data Scientists use data to solve problems. They work with stakeholders to gather data, and then they analyze data to find patterns and trends. This course may be useful for someone who wants to become a Data Scientist because it teaches the MVVM design pattern, which is a common design pattern used in data science. By learning the MVVM design pattern, you can design data science projects that are more maintainable and easier to test.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in MVVM Design Pattern Using Swift in iOS.
Guide to writing clean and maintainable code. It great resource for all software developers, regardless of their experience level.
Classic guide to design patterns. It great resource for all software developers, regardless of their experience level.
Comprehensive guide to iOS app development. It great resource for beginners who want to learn how to develop iOS apps.
Provides a comprehensive overview of test-driven development in iOS. It valuable resource for anyone who wants to learn more about test-driven development and how to apply it in their own projects.
Guide to performance testing in iOS. It great resource for iOS developers who want to learn more about performance testing.
Provides a comprehensive overview of iOS development, covering the basics of Objective-C, Cocoa Touch, and Xcode. It great resource for beginners who want to learn the fundamentals of iOS development.
Provides a comprehensive overview of reactive programming with Swift. It valuable resource for anyone who wants to learn more about reactive programming and how to apply it in their own projects.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to MVVM Design Pattern Using Swift in iOS.
Applying MVVM in Xamarin.Forms 4 Applications
Most relevant
SwiftUI - Declarative Interfaces for any Apple Device
Most relevant
iOS & Swift - The Complete iOS App Development Bootcamp
Most relevant
The Ultimate 70+ Hours iOS Development Bootcamp
Most relevant
iOS & Swift: Become An App Developer
Most relevant
iOS 17, SwiftUI 5, & Swift 5.9: Build iOS Apps From...
Most relevant
iOS 10 & Swift 3: From Beginner to Paid Professional™
Most relevant
iOS App Development: The Big Picture
Most relevant
iOS 11 Fundamentals
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser