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.
Now, almost all of Airbnb’s new screens and components in our latest launch were built using SwiftUI, and the vast majority of engineers said that SwiftUI made them more efficient without regressing the user-facing quality of their screens.
There will be a blog post published soon with many more details, but suffice to say that SwiftUI is definitely ready for broad adoption, and if adopted intentionally can improve the experience of building even the largest scale iOS apps!
@erichoracek Awesome read! Thanks for sharing. Already shared the post with my team here. 🙇♂️
Out of curiosity, how many folks is the Airbnb iOS team these days?
@erichoracek more efficient compared to what? Did you use Objective-C, react native or something else?
🙏🏽
Epoxy is a suite of declarative UI APIs for building UIKit applications in Swift - GitHub - airbnb/epoxy-ios: Epoxy is a suite of declarative UI APIs for building UIKit applications in Swift