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

£39.99

Includes FREE delivery

RRP £49.99 – you save £10.00 (20%)

Order before 4pm today for delivery by Wed 17 Dec 2025.

A Paperback / softback by Eric Vennaro

1 in stock


    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

    © 2025 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