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

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

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 38 lectures (4h 39m) | 2.11 GB

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

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.

What you’ll learn

  • MVVM architecture
  • Combine
  • SnapKit
  • Unit Test
  • UI Test
  • Snapshot Test
Table of Contents

Introduction
1 Setup Project
2 Setup Root Programatically

Setup UI
3 Create High Level Components With Layout
4 Add Theme Constants
5 Add Logo View Details
6 Add Result View
7 Add Amount View
8 Add Bill Input View Details
9 Add Header View Details
10 Add Tip Input View Details
11 Add Split Input View Details
12 Clean Up Views

Setup View Model
13 Add View Model
14 Observe Bill Input View
15 Observe Tip Input View
16 Handle Custom Tip Button
17 Handle Custom Tip Button Selection State
18 Observe Split Input View
19 Compute Result In View Model

Integrate UI With ViewModel
20 Display Result In Result View
21 Format Currency Values
22 Add Tap Gestures
23 Send Gesture Tap Publisher To VM
24 Add Sound Effect On LogoView Tap
25 Implement Calculator Reset

Setup Unit Tests
26 Setup Unit Tests
27 Add More Tests
28 Test Logo View Double Tap
29 Clean Up Test Code

Setup Snapshot Tests
30 Add Image Snapshot Tests
31 Add Snapshot Test With Custom Values

Setup UI Tests
32 Add UI Tests
33 Add All Identifiers
34 Add All Screen Elements
35 Test Regular Tip Flow
36 Test Custom Tip Flow
37 Closing

Project files
38 Source code

Homepage