Building Scalable Abstractions
updated about 1 year ago; latest suggestion 12 months ago
Abstract
Swift gives us new tools at our disposable to build more precise, concise and yet scaleable APIs than before. In this talk, we will look at what makes a good abstraction and how we can take advantage of features in Swift to build the right libraries for the problems we are solving.
Introduction
Have you looked at someone else’s code and thought: Why did anyone think to build it this way? Why is it more complicated than it should be? Is something important not obvious at all? No code lives in isolation and that’s why abstractions are important. How do we know what makes a good abstraction?
Outline
- What makes a good abstraction?
- What language features can we use to build good APIs?
- Code Example: Building a light-weight abstraction to make View Controllers more modular
- Caveats and where to go from here
Suggestions
-
At a large company, I face this challenge on a daily basis. I'd love to get your feedback on how I can better tune this talk.
-
I'm curious why and how you would be the person to tackle this. This is an easy topic to drown in.
-
I think this is a very interesting topic. We're working on multiple apps at the moment and creating abstractions that make sense for all of them is always a challenge. And also I can't avoid “Duplication is far cheaper than the wrong abstraction” https://www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction