Skip to content

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 (UICollectionView primarily).
  • 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

Last updated ยท 550 distilled / 1,221 read