My latest course “iOS Development: Architecture” is now available on LinkedIn Learning:

and on

Behind every polished iOS app is a thoughtful plan. By understanding and applying the fundamental concepts behind iOS application architecture, you can ensure that the software you develop is well-understood, flexible, and easy to extend or refactor. In this course, instructor Károly Nyisztor dives into these concepts, helping to familiarize you with the basics of iOS application architecture and design best practices.

To begin, Károly explores the Unified Modeling Language (UML), goes over some core UML diagrams, and discusses the iOS app life cycle. Next, he covers fundamental architectural design patterns such as the model-view-controller (MVC)—the classical iOS app design paradigm—as well as the Model-View-ViewModel (MVMM) pattern and other alternatives to MVC. He also shares how to manage app state transitions and build responsive apps. In addition, he discusses URL scheme-based communication and AirDrop; efficient memory and power consumption; how to detect issues and bottlenecks in your apps; and more.

Learning Objectives:

  • Unified Modeling Language (UML)
  • Use case, class, and sequence diagrams
  • App state preservation and restoration
  • Fundamental architectural design patterns
  • Model-view-controller (MVC) and model-view-presenter (MVP)
  • Implementing one-way binding
  • App stage changes
  • Building responsive apps
  • SOLID principles
  • Exchanging information between apps
  • Optimizing your apps to avoid excessive CPU usage