Protocol-Oriented Programming (POP) in Swift
Explains how to use protocol-oriented programming in Swift to design flexible applications by focusing on what entities can do rather than what they are.
Khawer Khaliq — Swift developer and educator sharing in-depth, beginner-to-advanced tutorials on Swift programming, focusing on protocol-oriented design, optionals, testing, and writing clean, maintainable iOS code.
10 articles from this blog
Explains how to use protocol-oriented programming in Swift to design flexible applications by focusing on what entities can do rather than what they are.
Explains how to use enumeration case and optional patterns for pattern matching with Swift Optionals in conditional statements and loops.
A guide to Test-Driven Development (TDD) in Swift, explaining the methodology and demonstrating its use through a practical case study.
A guide to safely unwrapping optional values in Swift using optional binding, covering syntax, use cases, and best practices.
A guide to implementing unit testing and UI testing for Swift applications, covering principles, best practices, and a practical case study.
Explains when and how to implement the Equatable and Identifiable protocols in Swift for effective domain modeling with value types.
Explains optional chaining in Swift for safely accessing properties, methods, and subscripts on optional values without manual unwrapping.
Explains Swift Optionals, their purpose, and how to use them to handle missing values safely in Swift programming.
Explains how to use protocol-oriented design to effectively work with associated types and Self requirements in Swift, avoiding common pitfalls.
Explains how to use Swift value types (structs, enums) to encapsulate domain data, logic, and business rules for cleaner, more testable, and concurrency-friendly code.