Epoxy is a suite of declarative UI APIs that makes it easy to build rich and immersive UIKit applications in Swift. Epoxy is inspired and influenced by Airbnb's Epoxy framework on Android, as well as other declarative UI frameworks in Swift such as SwiftUI.
Epoxy and powers thousands at screens at Airbnb in apps that are shipped to millions of users. It has been developed and refined for years by dozens of contributors.
Below are a few sample screens from the Airbnb app that we've built using Epoxy. Our usages of Epoxy span from our simplest forms and static screens to our most advanced and dynamic features.
Home Details | Home Photos | Messaging | Registration |
---|---|---|---|
Epoxy includes the following declarative APIs that wrap UIKit APIs you know and love:
API | Summary |
---|---|
EpoxyCollectionView |
Declarative API for driving the content of a
UICollectionView |
EpoxyNavigationController |
Declarative API for driving the navigation stack of a
UINavigationController |
EpoxyPresentations |
Declarative API for driving the modal presentations of a
UIViewController |
EpoxyBars |
Declarative API for adding fixed top/bottom bar stacks to a
UIViewController |