Using Abstract Algebra to derive a better Animation LibraryТехнологии iOS
Protocol Engineer @O(1) Labs.
Brandon Kase loves functional programming. He has shipped (typed, functional) production code on Android with Kotlin, iOS with Swift and React Native, and Web with JS/Flow/React. Brandon now spends his days designing and implementing Coda, a new cryptocurrency protocol at O(1) Labs.
Designing simple and expressive libraries is hard, but is a worthy goal. It's too easy to accidentally add complexity. Math can fix that. Math can give us guide-rails that point us to an ideal simple and expressive design. In this talk, we'll use basic abstract algebra to guide us toward a simple and expressive animation library. We'll use animations to help us understand abstract algebra as we discover the true algebraic structure of animations. Only after thinking hard about the structure, do we begin an implementation. In the end, I'll present some examples of working with this animation library we derived over the talk.