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?

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.

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. 

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.

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.

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.

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. 

Traffic lights

Read about what's good
what should give you pause
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

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical mvvm with swift

According to learners, this course offers a largely positive introduction to the MVVM design pattern using Swift. Students highlight the instructor's ability to provide clear explanations and use practical project examples, such as the News and Coffee apps, to solidify understanding. Many find it a valuable resource for moving beyond MVC. While the course is generally well-received and covers core concepts effectively, some students mention that the provided code examples occasionally require updates for compatibility with the latest Swift and Xcode versions. Overall, it is considered a useful course for understanding MVVM fundamentals.
Pace and clarity experienced differently by learners.
"Excellent course for beginners wanting to learn MVVM pattern."
"Found it difficult to follow. The code presented sometimes diverged..."
"Felt like it moved too fast in places."
"Clear explanations and easy to follow along."
Focuses well on core concepts and implementation.
"Covers the core concepts and implementation details effectively."
"Covers the basics, but doesn't go very deep into advanced topics..."
"Some examples could be slightly more complex to show scalability..."
Helps transition from traditional MVC to MVVM.
"Good introduction to MVVM."
"Highly recommend for anyone moving beyond MVC."
"A good stepping stone from MVC to MVVM."
"Perfect course to understand and implement MVVM."
Projects help solidify understanding and apply concepts.
"The News app project was helpful..."
"The Coffee app project was a great way to solidify understanding."
"The real-world examples make it easy to grasp."
"The projects are well-structured and the code is clean."
Instructor explains complex ideas effectively.
"The instructor explains the concepts very well and provides practical examples."
"Clear explanations and easy to follow along."
"Instructor is very knowledgeable and articulate. He breaks down complex ideas effectively."
"Excellent, concise introduction. Covers the core concepts and implementation details effectively."
Some code requires adjustments for latest Swift/Xcode.
"...some parts of the code felt a bit dated, requiring minor adjustments for the latest Swift version."
"I struggled with some of the project setups due to differences in Xcode versions."
"Need to update some dependencies for the latest Swift/iOS SDK."
"Minor updates needed."

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

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

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser