Skip to content
UdemyMobile DevelopmentPaid courseIntermediate levelCertificate

iOS & Swift - MVVM, Combine, SnapKit, Snapshot/UI/Unit Tests (Udemy.com)

Master the skills needed to become a senior iOS engineer like MVVM, Reactive & Protocol Orientated Programming

Created by: Kelvin Fok

Last updated November 2023

icon
What you will learn

  • Build a MVVM architecture app with confidence
  • Combine framework (reactive programming, communication between VMs and VCs)
  • SnapKit (layout views programmatically)
  • Unit Test (increase robustness in business logic)
  • UI Test (preserve the integrity of business flows)
  • Snapshot Test (preserve the integrity of views from unwarranted modification)

How it compares

Against the other 149 rated Udemy courses in Mobile Development on CourseDuck:

  • Rating4.3 out of 5higher than 24% of them
  • Reviews481#23 of 150 by number of reviews
  • Length4.7 hoursshorter than 70% of them
  • Last updatedNovember 2023earlier than 62% of them

icon
Course Description

Welcome to the iOS & Swift - MVVM, Combine, SnapKit, Snapshot/UI/Unit Tests course!

In this course, I share my learnings as a professional iOS developer with 6 years experience on the topics that are relevant to the industry today. The materials I've prepared are knowledge that I wish I knew as a 3 year old developer struggling with concepts like:

  • Protocol orientated programming

  • Reactive programming

  • MVVM architecture (why not MVC?)

  • Coding views programatically with SnapKit (without Storyboards)

  • Writing unit tests

  • Writing Snapshot tests

  • Writing UI tests

In this course, I explain and implement the above-mentioned concepts through a simple Tip Calculator application step by step. I start off by building the UI, then the ViewModel which house the business logic and finally implement the various tests to ensure that we preserve the integrity of our code.

These concepts are extremely important to a senior iOS developer because of the expectations and responsibilities placed on you by the various stakeholders in your company. As such, you need the SKILLS to

  • Debug issues quickly

  • Upkeep code coverage and testability to ensure CI passes

  • Set an example to junior members in your team with high quality coding standards

  • Avoid on-call nightmares (paper duty ringing non-stop)

  • Fix and stop adding new tech debts

  • Maintain your sanity as your app grows over time

So this course targets developers who have been working for around 3 years who want to get to the next level. I am confident you will grow after completing this course.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Kelvin Fok

I'm a full time professional iOS developer with a top tier tech company in Asia and have been building apps for the past four years. During my career I have worked with companies big and small and I enjoy sharing with others my learnings. When I was beginner, I promised myself that one day I will teach other people how to code and make their lives better.

icon
More Mobile Development courses

$19.99

$74.99

$74.99

$39.99

$19.99

$84.99

icon
Reviews

4.3

481 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Wouter Wessels on 7/10/2026

just tells what he does, not why he does it and what are the alternatives. As a Senior iOS developer sometimes I wondered what he was doing ... and why.

By Stephen Kaiser on 5/13/2024

Good stuff. Very practical info for common UI patterns and organization. Love the quick pace. It uses UIKit instead of SwiftUI, but most of the View modifiers should be applicable to SwiftUI, so you kind of learn a bit of both at once. I'm learning a lot! Thank you!

By Miguel Martins on 4/26/2024

I found the course interesting and learned about the different testing possibilities offered by Apple. The assembly of the screen was a bit too fast though as I had no previous experience on SnapKit and Combine framework to assembly UI. Even still it was good to learn about the possibilities and how reactive we can make a screen using the Combine framework and also how to set constraints using SnapKit.

By Anonymized User on 4/13/2024

The instructor is very knowledgeable as he covered many topics, but it could have been better if the speed was a bit slower.

By 허신일 on 3/14/2024

Brilliant course. I learnt alot from this course. Coding convention, especially indentations when using mutli-parameter function, was impressive. I didn't think about that kind of identation. I get interested in the tendencies that how swift (iOS) developers write their code.

By Fatih Emre Sarman on 3/7/2024

It was really good but only problem with that, it is not responsive. When I tried with iPhone SE 3rd generation the AmountView was crushed. It took a little bit time to fix it but I handled. Except that if you want to learn SnapKit and Tests it's really good. Hardly suggesting.

By Rodrigo Adelino Candido on 1/22/2024

The course is not bad but here are a couple of points. It never goes deep into any subject, so this course is for people who already have a base and need to "refresh" their memory a bit. I liked the way he builds a view, it's very practical. PROS: It's a good refresher if you already have experience. CONS. It never goes into detail on any subject.

By Steve Zaske on 12/8/2023

Great course for those with programming experience. I'm an Android developer and wanted to quickly jump into IOS development. I love that it focused on MVVM development and testing too. The speed was perfect and I like that he included his mistakes...and correcting them.

By Yianni Yiannakidis on 8/31/2023

I found Kelvin on YouTube as I was searching UIKit lessons with combine. And followed him here. I can say that I learned a lot, especially using combine in an MVVM pattern app. Thank you, Kelvin, and hope you make more lessons in UIKit and Combine

By Hyun Sik Kim on 4/26/2023

This course is absolutely amazing! I was shocked by how you can easily set layouts with snapkits and use combine to bind all datas together. Getting into Unit testings were definitely very interesting! Would recommend to others as well. Thanks for the great course Kelvin!

Showing all 10 reviews on CourseDuck

Read all 481 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100