iOS API Design: Swift Patterns with Brian Gesiak


Details
Thanks to dependency managers like Carthage and CocoaPods, it's easier than ever to share your code with others. The code we've shared as a community has inspired new paradigms in iOS and OS X development, and has found its way into codebases large and small.
But what makes people, startups, and even monolithic corporations want to use your iOS code in their projects? How can you design your Swift interfaces to be simple to use, but extensible enough that they meet a wide range of use cases?
This talk will discuss several design patterns that can take your interfaces to the next level--and the tradeoffs associated with those patterns. It will use Swift to demonstrate:
• Extensible APIs for UI components, using extensions and configuration objects
• API versioning using parameter objects
• Modeling state transitions using immutable objects
• "Railway-oriented programming" using result enums
• Announcing state changes over time via signals
...and other patterns used to build some of the most popular open-source projects in our field.
-------------------------
Brian Gesiak (https://twitter.com/modocache) is the creator of Quick (https://github.com/Quick/Quick), the Swift (and Objective-C) testing framework. He also maintains several other testing frameworks, is a software engineer at Facebook in New York, and was--in a former lifetime--a translator of Japanese literature. His blog is at http://modocache.io (http://modocache.io/).
-------------------------
Pizza, Beer and non-alcoholic beverages will be provided so come hungry!

iOS API Design: Swift Patterns with Brian Gesiak