Swift 5: Protocol-Oriented Programming

Go to class
Write Review

Free Online Course: Swift 5: Protocol-Oriented Programming provided by LinkedIn Learning is a comprehensive online course, which lasts for 2-3 hours worth of material. The course is taught in English and is free of charge. Upon completion of the course, you can receive an e-certificate from LinkedIn Learning. Swift 5: Protocol-Oriented Programming is taught by Karoly Nyisztor.

Overview
  • 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.

Syllabus
  • Introduction

    • Benefits: Protocol-oriented programming
    • What you should know
    1. The Pillars of Protocol Orientation
    • 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
    2. Protocol-Oriented Programming
    • 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
    3. Generics
    • 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
    4. Implement the Weather App Using POP
    • 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
    Conclusion
    • Next steps