We started by adding support to host SwiftUI views in Epoxy, our previous UI framework, to ensure SwiftUI could handle Airbnb’s custom UI needs. When that worked out well, we decided to rebuild our entire design system in SwiftUI to unlock its benefits for full screens.
SwiftUI not only made the implementation of Airbnb’s design system many times smaller due to its declarative paradigm—it made it dramatically more flexible thanks to its styling patterns and support for generic views with slots.