A collection of topics in iOS or mobile development in general that I learned about over the years both on and off the job, or want to learn more about.

Swift

  • String
  • Arrays
  • Dictionaries
  • Computed Properties
  • Lazy vars
  • Structs vs Classes
  • Enums
  • Access Control
  • Optionals
  • Data Formatters
    • Date Formatter
    • Name Formatter
    • Address Formatter
    • List Formatter
  • Protocols
    • Protocol Oriented Programming
    • Protocol Based Inheritance
    • Protocols & Delegates
    • Protocols & Generics
  • Properties
  • Tuples
  • If vs Guard
  • Error Handling
  • Closures
  • ARC
  • Map, Filter, Reduce
  • Result

iOS

  • Core Animation
  • Core Graphics
  • Core Image
  • Core Data
  • UIKit
    • View
    • ViewController
  • SwiftUI
  • Foundation
  • Performance Optimization
  • Threading
    • NSOperation
    • GCD
  • Metal
  • Core Bluetooth
  • Core Haptics
  • IB vs Programmatic UI
  • Autolayout
  • App Lifecycle

CI/CD

  • Pipeline
  • Dependencies

System Design

  • Messenger
  • Uber
  • MQTT
  • IoT
  • Singleton Pattern
  • Coordinator Pattern
  • Dependency Injection
  • Unit Testing