# facebook/asyncdisplaykit

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/facebook-asyncdisplaykit).**

13,344 stars · 2,168 forks · Objective-C++ · NOASSERTION · archived

## Links

- GitHub: https://github.com/facebook/AsyncDisplayKit
- Homepage: http://asyncdisplaykit.org
- awesome-repositories: https://awesome-repositories.com/repository/facebook-asyncdisplaykit.md

## Description

AsyncDisplayKit is an asynchronous UI framework and layout engine for iOS designed to offload layout and rendering operations from the main thread. It functions as a concurrent interface library that handles asynchronous image decoding and UI composition to maintain high frame rates.

The project uses a node-based view hierarchy to build thread-safe interface structures on background threads. It includes an intelligent preloading system that predicts scroll direction to trigger data fetching and layout operations for elements before they become visible.

The framework covers high-performance mobile rendering and UI performance optimization by moving expensive layout calculations and image decoding off the main thread. This process eliminates interface stutter and ensures smooth movement in scrollable views.

## Tags

### Web Development

- [iOS Off-Main-Thread Rendering](https://awesome-repositories.com/f/web-development/high-performance/off-main-thread-layouts/ios-off-main-thread-rendering.md) — Optimizes iOS app responsiveness by moving expensive layout and rendering tasks off the main thread to prevent frame drops. ([source](https://github.com/facebook/asyncdisplaykit#readme))
- [Off-Main-Thread Layouts](https://awesome-repositories.com/f/web-development/high-performance/off-main-thread-layouts.md) — Moves complex layout calculations off the main thread to maintain fluid user interactions.

### Mobile Development

- [Asynchronous UI Frameworks](https://awesome-repositories.com/f/mobile-development/asynchronous-ui-frameworks.md) — Provides a framework for offloading UI layout and rendering to background threads on iOS.
- [Scrollable View Preloading](https://awesome-repositories.com/f/mobile-development/scrollable-view-preloading.md) — Predicts scroll direction to trigger data fetching and layout operations for elements before they become visible.

### Software Engineering & Architecture

- [Thread-Safe Node Hierarchy Builders](https://awesome-repositories.com/f/software-engineering-architecture/background-thread-dispatchers/thread-safe-dispatchers/thread-safe-node-hierarchy-builders.md) — Constructs complex view trees on background threads using thread-safe node abstractions to keep the main thread responsive. ([source](https://github.com/facebook/asyncdisplaykit#readme))
- [UI Thread Responsiveness](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/frontend-rendering-loading/ui-thread-responsiveness.md) — Maintains interface responsiveness by offloading expensive image decoding and layout calculations away from the main execution thread. ([source](https://github.com/facebook/asyncdisplaykit#readme))
- [Asynchronous Image Decoding](https://awesome-repositories.com/f/software-engineering-architecture/task-scheduling/asynchronous-schedulers/asynchronous-thread-schedulers/custom-thread-executors/image-loading-thread-managers/asynchronous-image-decoding.md) — Implements background-threaded decoding of image data to prevent main thread blocking during UI updates.

### User Interface & Experience

- [Asynchronous Component Libraries](https://awesome-repositories.com/f/user-interface-experience/component-libraries/component-based-ui-libraries/asynchronous-component-libraries.md) — Implements a component-based architecture with a strict asynchronous core for fluid mobile user experiences.
- [Thread-Safe Node](https://awesome-repositories.com/f/user-interface-experience/composition-hierarchies/view-hierarchy-composition/view-hierarchies/thread-safe-node.md) — Uses lightweight thread-safe node abstractions to build view hierarchies on background threads before converting them to native views.
- [Background Thread Layout Engines](https://awesome-repositories.com/f/user-interface-experience/flexbox-layout-engines/background-thread-layout-engines.md) — Computes UI element sizes and positions on background threads to ensure the main thread remains responsive.

### Part of an Awesome List

- [Development Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/development-frameworks.md) — Library for asynchronous UI rendering and performance optimization.
- [UI Components](https://awesome-repositories.com/f/awesome-lists/devtools/ui-components.md) — Framework for maintaining smooth UI responsiveness in complex interfaces.
