Take a deep dive into protocol-oriented programming (POP), a new paradigm introduced by Apple. Learn how to work with POP to design and implement modern software with Swift.
Overview
Syllabus
Introduction
- Benefits: Protocol-oriented programming
- What you should know
- What is protocol-oriented programming?
- Introducing the protocol
- Adopting protocols
- Conforming to protocols via extensions
- Understanding polymorphism
- Protocol inheritance
- Adopting multiple protocols
- Protocol extensions
- Challenge: Removing tight coupling
- Solution: Removing tight coupling
- Why protocols?
- From unstructured code to POP
- Designing with classes: First try
- Designing with classes: Subclassing
- The benefits of thinking in protocols
- Highlighting the differences
- The importance of generics
- Defining generic functions and methods
- Working with generic types
- Placeholder types in protocols
- Using generics with protocols
- Challenge: Implementing a generic stack
- Solution: Implementing a generic stack
- Weather app design
- Defining the UI using SwiftUI
- The WebServiceController protocol
- Working with a third-party API
- Implementing the OpenWeatherMap controller
- Completing the OpenWeatherMap controller
- Introducing the view model
- Presenting weather data
- Challenge: Integrating a fallback service
- Solution: Integrating a fallback service
- Next steps
Taught by
Karoly Nyisztor