SYSTEM Cited by 1 source
Texture (AsyncDisplayKit)¶
What it is¶
Texture (originally AsyncDisplayKit, started at
Facebook/Instagram) is an open-source iOS UI framework
providing declarative, asynchronous layout and rendering on
top of UIKit. It produces standard UIKit objects
(UICollectionView, UITableView, UIView) under the hood
but offloads layout + rasterisation to background threads to
keep the main thread responsive on scroll.
Upstream home: texturegroup.org.
Why it matters for this wiki¶
Appcraft โ Zalando's server-driven mobile UI framework โ uses Texture as its iOS layout substrate (Source: sources/2024-05-15-zalando-transitioning-to-appcraft-evolution-of-zalandos-server-driven-ui-framework). The Appcraft team chose it specifically because it sits on top of the native UI framework rather than replacing it: "a scrollable layout with Flex specifications on the server will be transformed by Appcraft into a native UICollectionView for iOS". This preserves access to new OS-version APIs and is the canonical iOS half of the Flex-on-top-of-native-UI-framework pattern.
Appcraft-specific role¶
- Accepts Flex layout specifications (from the server-sent Appcraft screen JSON).
- Translates them into a Texture node tree.
- Texture produces UIKit views (
UICollectionViewprimarily). - OS-level APIs and improvements in newer iOS versions remain accessible.
Known risks¶
The Appcraft post flags third-party-library drift as a named open challenge: "iOS and Android libraries may behave differently, requiring additional customization or default code to achieve consistent functionality and user experience across both platforms." Texture + Litho are the named dependency pair.
Seen in¶
- sources/2024-05-15-zalando-transitioning-to-appcraft-evolution-of-zalandos-server-driven-ui-framework โ Appcraft iOS layout substrate, chosen as the sits-on-top- of-UIKit implementation to preserve OS-version API access.