Description

Book Synopsis


Table of Contents
Part 1: General Apple System Knowledge

Chapter 1: Structures and Classes

1.1 Structures And Classes

1.2 Initializing

1.3 Instance Variables

1.4 Properties

1.5 Methods

1.5 Protocols

1.6 Generics

1.7 Conclusion

Chapter 2: Swift Memory Management

2. Memory Management

2.1 App Memory Usage

2.2 Swift Memory Model

2.3 Automatic Reference Counting (ARC) Overview

2.4 ARC Object Ownership

2.5 Heap Allocation

2.6 Stack Allocation

2.7 Method Dispatch

2.8 Conclusion

Chapter 3: Persistent Storage for iOS

3. Persistence For iOS

3.1 Core Data

3.2 Deep Dive SQLite

3.3 Core Data Alternatives and Tradeoffs

3.4 Conclusion

Chapter 4: Concurrency and Parallelism

4.1 Concurrency, Parallelism, and Async Programming

4.2 Benefits Concurrent Programming

4.3 Implementing concurrent programming using threads and locks

4.4 Using GCD For Concurrency

4.5 Using NSOperation queues

4.6 Swift Structured Concurrency

4.7 Conclusion: Choosing The Right Abstraction

Chapter 5: Algorithms and Data Structures

5. Algorithms and Data Structures

5.1 Arrays

5.2 Dictionaries

5.3 Tree Traversals

5.4 Conclusion

Part 2: Common App Architecture and Design Patterns

Chapter 6: Mobile Systems Design

6. Mobile Systems Design

6.1 Approaching Systems Design At Scale

6.2 Importance Of Modularity

6.3 API Engineering For Mobile Engineers

6.4 Advanced State Management - deep links and notifications

6.5 Conclusion

Chapter 7: Mobile Systems Architecture

7. Mobile App Architecture

7.1 MVC Architecture

7.2 MVVM Architecture

7.3 Reactive Programming

7.4 VIPER

7.5 Conclusion

Chapter 8: Mobile Design Patterns

8. Mobile Design Patterns

8.1 Coordinators

8.2 Delegate Pattern

8.3 Dependency Injection

8.4 Aspect-Oriented Programming

8.5 Singletons

8.6 Conclusion

Part 3: Apps At Scale

Chapter 9: Testable Mobile Applications

9. Testability

9.1 Unit testing

9.2 E2E testing

9.3 Leveraging QA

Chapter 10: Enforcing Modularity

10. Dependency Management

10.1 Splitting to improve build time

10.2 Shared libraries

10.3 Conclusion

Chapter 11: Releasing Your Application

11. Build/Release Pipeline

11.1 Automated tests

11.2 Automated code quality

11.3 Automated releases

11.4 Building a release cycle - managing the process, handling changes, and bugs

11.5 Project timing for releases mobile is special

11.6 Forced deprecation

11.7 Analytics, Monitoring, and Alerting

11.8 Mobile On-Call

11.9 Compliance, Privacy, and Security

11.10 Third-party libraries

11.11 ePD/GDPR regulations

11.13 Conclusion

Chapter 12: App Performance

12. Performance

12.1 Establishing performance goals

12.2 App size

12.3 Adding logging

12.4 Making it part of the experimentation process

12.5 iOS Performance Tooling Review

12.6 Conclusion

Chapter 13: Developing For All Audiences13. Localization

13.1 Understanding the market

13.2 Getting content specialists involved

13.3 Automating the tedious parts

13.4 Supporting RTL mode

13.5 Supporting all languages - Tamil (tall characters) Russian (long strings)

13.6 Accessibility in iOS

13.7 Testing accessibility

13.8 Conclusion

Chapter 14: Experimentation

14. Experimentation

14.1 Understanding the value of A/B Testing

14.2 Understanding what metrics are important for the team and app-wide

14.3 Considerations for a successful experiment and shipping

14.4 Statistical considerations for evaluating experiments

14.5 Network effects

14.6 Designing and using a holdout

14.7 Considering performance

14.8 Conclusion

Chapter 15: Cross-Platform Development

15. Cross-Platform Versus Native Development

15.1 Avoid mobile release cycle

15.2 Small team iterate quickly

15.3 Less ability to take advantage of new features and high performance

15.4 App dependent

15.5 Shared core libraries in C

Chapter 16: Becoming a true team lead

16. Leading and working with large teams

16.1 Understanding engineer archetypes and roles

16.2 TL Large team - Delegate

16.3 TL large team - Uplevel others

16.4 The TL and the project lifecycle

16.5 Questioning Mindset

16.6 Communication - verbal and written

16.7 Scaling oneself

16.8 Conclusion

Part 4: Bringing Everything Together

Chapter 17: Practical Examples

17. Practical Examples

17.1 Example 1 - Building A Photo Viewing App

17.2 Example 2 - Improving A Legacy Airplane App

17.3 Example 3 - Re-building A Messaging App Implementing Encryption

17.4 Conclusion

iOS Development at Scale

    Product form

    £37.49

    Includes FREE delivery

    RRP £49.99 – you save £12.50 (25%)

    Order before 4pm today for delivery by Mon 13 Jul 2026.

    A Paperback / softback by Eric Vennaro

    1 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of iOS Development at Scale by Eric Vennaro

      Publisher: APress
      Publication Date: 27/09/2023
      ISBN13: 9781484294550, 978-1484294550
      ISBN10: 1484294556

      Description

      Book Synopsis


      Table of Contents
      Part 1: General Apple System Knowledge

      Chapter 1: Structures and Classes

      1.1 Structures And Classes

      1.2 Initializing

      1.3 Instance Variables

      1.4 Properties

      1.5 Methods

      1.5 Protocols

      1.6 Generics

      1.7 Conclusion

      Chapter 2: Swift Memory Management

      2. Memory Management

      2.1 App Memory Usage

      2.2 Swift Memory Model

      2.3 Automatic Reference Counting (ARC) Overview

      2.4 ARC Object Ownership

      2.5 Heap Allocation

      2.6 Stack Allocation

      2.7 Method Dispatch

      2.8 Conclusion

      Chapter 3: Persistent Storage for iOS

      3. Persistence For iOS

      3.1 Core Data

      3.2 Deep Dive SQLite

      3.3 Core Data Alternatives and Tradeoffs

      3.4 Conclusion

      Chapter 4: Concurrency and Parallelism

      4.1 Concurrency, Parallelism, and Async Programming

      4.2 Benefits Concurrent Programming

      4.3 Implementing concurrent programming using threads and locks

      4.4 Using GCD For Concurrency

      4.5 Using NSOperation queues

      4.6 Swift Structured Concurrency

      4.7 Conclusion: Choosing The Right Abstraction

      Chapter 5: Algorithms and Data Structures

      5. Algorithms and Data Structures

      5.1 Arrays

      5.2 Dictionaries

      5.3 Tree Traversals

      5.4 Conclusion

      Part 2: Common App Architecture and Design Patterns

      Chapter 6: Mobile Systems Design

      6. Mobile Systems Design

      6.1 Approaching Systems Design At Scale

      6.2 Importance Of Modularity

      6.3 API Engineering For Mobile Engineers

      6.4 Advanced State Management - deep links and notifications

      6.5 Conclusion

      Chapter 7: Mobile Systems Architecture

      7. Mobile App Architecture

      7.1 MVC Architecture

      7.2 MVVM Architecture

      7.3 Reactive Programming

      7.4 VIPER

      7.5 Conclusion

      Chapter 8: Mobile Design Patterns

      8. Mobile Design Patterns

      8.1 Coordinators

      8.2 Delegate Pattern

      8.3 Dependency Injection

      8.4 Aspect-Oriented Programming

      8.5 Singletons

      8.6 Conclusion

      Part 3: Apps At Scale

      Chapter 9: Testable Mobile Applications

      9. Testability

      9.1 Unit testing

      9.2 E2E testing

      9.3 Leveraging QA

      Chapter 10: Enforcing Modularity

      10. Dependency Management

      10.1 Splitting to improve build time

      10.2 Shared libraries

      10.3 Conclusion

      Chapter 11: Releasing Your Application

      11. Build/Release Pipeline

      11.1 Automated tests

      11.2 Automated code quality

      11.3 Automated releases

      11.4 Building a release cycle - managing the process, handling changes, and bugs

      11.5 Project timing for releases mobile is special

      11.6 Forced deprecation

      11.7 Analytics, Monitoring, and Alerting

      11.8 Mobile On-Call

      11.9 Compliance, Privacy, and Security

      11.10 Third-party libraries

      11.11 ePD/GDPR regulations

      11.13 Conclusion

      Chapter 12: App Performance

      12. Performance

      12.1 Establishing performance goals

      12.2 App size

      12.3 Adding logging

      12.4 Making it part of the experimentation process

      12.5 iOS Performance Tooling Review

      12.6 Conclusion

      Chapter 13: Developing For All Audiences13. Localization

      13.1 Understanding the market

      13.2 Getting content specialists involved

      13.3 Automating the tedious parts

      13.4 Supporting RTL mode

      13.5 Supporting all languages - Tamil (tall characters) Russian (long strings)

      13.6 Accessibility in iOS

      13.7 Testing accessibility

      13.8 Conclusion

      Chapter 14: Experimentation

      14. Experimentation

      14.1 Understanding the value of A/B Testing

      14.2 Understanding what metrics are important for the team and app-wide

      14.3 Considerations for a successful experiment and shipping

      14.4 Statistical considerations for evaluating experiments

      14.5 Network effects

      14.6 Designing and using a holdout

      14.7 Considering performance

      14.8 Conclusion

      Chapter 15: Cross-Platform Development

      15. Cross-Platform Versus Native Development

      15.1 Avoid mobile release cycle

      15.2 Small team iterate quickly

      15.3 Less ability to take advantage of new features and high performance

      15.4 App dependent

      15.5 Shared core libraries in C

      Chapter 16: Becoming a true team lead

      16. Leading and working with large teams

      16.1 Understanding engineer archetypes and roles

      16.2 TL Large team - Delegate

      16.3 TL large team - Uplevel others

      16.4 The TL and the project lifecycle

      16.5 Questioning Mindset

      16.6 Communication - verbal and written

      16.7 Scaling oneself

      16.8 Conclusion

      Part 4: Bringing Everything Together

      Chapter 17: Practical Examples

      17. Practical Examples

      17.1 Example 1 - Building A Photo Viewing App

      17.2 Example 2 - Improving A Legacy Airplane App

      17.3 Example 3 - Re-building A Messaging App Implementing Encryption

      17.4 Conclusion

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account