Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
iOS & Swift - MVVM, Combine, SnapKit, Snapshot/UI/Unit Tests
Rating: 4.4 out of 5(476 ratings)
2,942 students

iOS & Swift - MVVM, Combine, SnapKit, Snapshot/UI/Unit Tests

Master the skills needed to become a senior iOS engineer like MVVM, Reactive & Protocol Orientated Programming
Created byKelvin Fok
Last updated 11/2023
English

What you'll 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)

Course content

8 sections39 lectures4h 39m total length
  • Setup Project6:51

    Set up a new Xcode project, install three packages via Swift Package Manager (combine cocoa, snap kit, swift snapshot testing), and add images to assets for unit tests.

  • Setup Root Programatically2:03

    Set up the root view controller programmatically by removing the storyboard and info.plist entry, then configure the scene delegate to create a window and display the yellow root view.

Requirements

  • 3 years iOS development experience (strictly, please)
  • Professionals

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.

Who this course is for:

  • Full time developers with at least 3 years of professional experience
  • Again I reiterate - a least 3 years of professional experience or you won't be able to follow