ComponentKit by Facebook: A React-Inspired View Framework for iOS

What is ComponentKit?

ComponentKit is an Objective-C++ view framework for iOS that is heavily inspired by React. It takes a functional, declarative approach to building UI. It was built to power Facebook's News Feed and is now used throughout the Facebook iOS app.

ComponentKit is a tool in the Mobile UI Frameworks category of a tech stack.

ComponentKit is an open source tool with 4.91K Github Stars and 542 Github Forks. Here’s a link to ComponentKit's open source repository on Github

ComponentKit integrates with

Why people like ComponentKit

Here’s a list of reasons why companies and developers use ComponentKit.

Add a one-liner

Here are some stack decisions and reviews by companies and developers who chose ComponentKit in their tech stack.

Daniel Worku
Daniel Worku
Software Engineer at Facebook · | 2 upvotes · 178 views
atField Nation

At Field Nation, managing view state, in the #iOS app, became a challenge when we added multiple asynchronous actions and multi-stage work order completion.

ComponentKit's React-inspired approach to building UI made layout declarative, functional and more composable. Plus, as an Objective-C++ framework, there isn't the typical trade-offs of layout speed and compute overhead. In fact, you'll get background thread layout and view recycling for free. It was easy to implement and fully test complex UI interactions like checking in to a work order, receiving location-based alerts, and uploading deliverables. Additionally, CK provides an escape-hatch, for advanced views, to drop down into UIKit or CALayer. The outcome is the flexibility to incrementally migrate views and maintain delightful layer-based animations.

Overall, CK makes it easier to build a view hierarchy, snapshot test all possible states and efficiently manage views. Less bugs, happy designers. The trade-off is the ramp up on component-based software engineering.

See more

ComponentKit's alternatives

  • jQuery Mobile - Touch-Optimized Web Framework for Smartphones & Tablets
  • Render - React-inspired Swift library for writing UIKit UIs
  • Classy - Expressive, flexible, and powerful stylesheets for native iOS apps
  • React Native Material Design - React Native UI Components for Material Design
  • Ratchet - Build mobile apps with simple HTML, CSS, and JS components.

See all alternatives to ComponentKit