Build high-performance iOS list feeds with many different cell types
Create declarative, React-style UI components for native iOS apps
Replace manual UIKit view mutation with state-driven component rendering
Power complex content feeds similar to Facebook News Feed on iOS
| facebook/componentkit | khronosgroup/moltenvk | google/santa | |
|---|---|---|---|
| Stars | 5,764 | 5,621 | 4,515 |
| Language | Objective-C++ | Objective-C++ | Objective-C++ |
| Setup difficulty | moderate | hard | hard |
| Complexity | 4/5 | 4/5 | 4/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Run Carthage checkout before opening in Xcode. Explore the WildeGuess sample app included in the repo. Full guide at componentkit.org.
ComponentKit is a framework for building user interfaces in iOS apps, created by Facebook. It was inspired by React, the web UI library also from Facebook, and brings a similar way of thinking about UI to native iOS development. The project is written in Objective-C++. The core idea is that instead of describing how a UI should change over time by manually updating views, you describe what the UI should look like given the current state of your data, and the framework handles the rendering. This functional and declarative approach tends to produce code that is easier to reason about, since each component is a self-contained description of how a piece of UI should look rather than a series of instructions that mutate it over time. ComponentKit was built to power Facebook's News Feed on iOS and is used throughout the Facebook iOS app. Because it was designed to handle a high-volume, complex feed full of different content types, it was built with performance in mind, particularly for lists that need to lay out many different kinds of cells efficiently. The project is distributed via Carthage, a dependency manager for iOS and Mac projects. Setting it up requires running a Carthage checkout step before opening the Xcode project. The repository includes a sample app called WildeGuess to explore. A dedicated website at componentkit.org hosts the full getting started guide and additional documentation. The library is BSD-licensed with an additional patent grant from Facebook.
ComponentKit is a React-inspired iOS UI framework from Facebook that lets you describe interfaces declaratively based on data state, rather than manually mutating views. Written in Objective-C++, it powers Facebook's News Feed and is optimized for high-performance list rendering.
Mainly Objective-C++. The stack also includes Objective-C++, iOS, Xcode.
BSD license with an additional patent grant from Facebook. Permissive, you can use, modify, and distribute freely.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.