App Architecture and Design Patterns for Mobile Engineers
Eric Vennaro

#iOS
#iOS_Development
#Swift
#mobile_applications
#VIPER
#MVC
#MWM
#Design_Patterns
Scale mobile applications to handle an enormous user base and development team. This book outlines the scaling challenges that mobile engineers face and some standard techniques and design patterns to deal with those issues.
You already know the basics of iOS development, but how do you learn the key concepts and patterns to scale a mobile application? You’ll start by learning the fundamentals of the iOS platform often overlooked when using out-of-the-box iOS solutions. While standard iOS solutions might work at a small scale, the most prominent tech companies reinvent these for highly customized usage, making understanding the underlying concepts crucial. Understanding these concepts reduces ramp-up time and allows engineers to understand the “why” intuitively.
Having mastered the fundamentals, you’ll next focus on architecture and design principles to build, maintain, and release features within a large codebase and the soft skills to enact change in a larger organization. You’ll be empowered with a deeper understanding of iOS design patterns and the industry knowledge necessary to take their features from idea to production. You’ll also study the people skills to get things done in a large organization―a critical step to growing one’s career.
Upon completing iOS Development at Scale, you’ll understand the solutions and tradeoffs you can leverage to build better applications and grow your career.
What You’ll Learn
Who This Book Is For
iOS software engineers and mobile engineer managers. Additionally, any software engineer, manager, or business stakeholder wanting to learn more about mobile development and the challenges that mobile engineers face.
Table of Contents
Chapter 1: Swift Familiarization
Chapter 2: Memory Management
Chapter 3: iOS Persistence Options
Chapter 4: Concurrent Programming
Chapter 5: The Importance of Good Architecture
Chapter 6: Common Design Patterns
Chapter 7: Model View Controller (MVC)
Chapter 8: Model View View-Model (MWM)
Chapter 9: VIPER
Chapter 10: The React ive Programming Paradigm
Chapter 11: System Design Process
Chapter 12: Testability
Chapter 13: Performance
Chapter 14: Experimentation
Chapter 15: Application Release and Maintenance
Chapter 16: Leading Multiple Teams
Chapter 17: Practical Example
Eric Vennaro is a Team Lead at Meta, where he has a track record of delivering high-impact, technically complex projects across mobile, web, and backend infrastructure. He is interested in applied machine learning and privacy, especially the intersection of improving privacy using machine-learning-backed integrity tooling. While working on the iOS platform and recruiting new iOS engineers, Eric noticed a gap in the existing literature for mobile engineering best practices and architectural principles at scale. To address this gap, he decided to write this book using his experience in leading mobile projects. Before working at Meta, Eric founded his own company and worked at Stitch Fix during its explosive growth phase and subsequent IPO.









