Epoxy for iOS

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 DetailsHome PhotosMessagingRegistration
Home DetailsHome PhotosMessagingRegistration

Epoxy includes the following declarative APIs that wrap UIKit APIs you know and love:

APISummary
EpoxyCollectionViewDeclarative API for driving the content of a UICollectionView
EpoxyNavigationControllerDeclarative API for driving the navigation stack of a UINavigationController
EpoxyPresentationsDeclarative API for driving the modal presentations of a UIViewController
EpoxyBarsDeclarative API for adding fixed top/bottom bar stacks to a UIViewController

Resources:

Github

Docs