Building Scalable Abstractions

updated 11 months ago; latest suggestion 10 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

  • The proposal author responds 10 months ago

    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.

  • 007dca74c613a8f4ab1ed47c7562a1cae68df25a?size=100x100 007dca74c613a8f4ab1ed47c7562a1cae68df25a suggests 10 months ago

    I'm curious why and how you would be the person to tackle this. This is an easy topic to drown in.

  • 2fd5585092316e178382abb98bc00bb40ee9162e?size=100x100 2fd5585092316e178382abb98bc00bb40ee9162e suggests 11 months ago

    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